How to convert Integer to int?

前端 未结 5 1467
囚心锁ツ
囚心锁ツ 2020-12-02 11:47

I am working on a web application in which data will be transfer between client & server side.

I already know that JavaScript int != Java int. Because, Java int

相关标签:
5条回答
  • 2020-12-02 12:15

    As already written elsewhere:

    • For Java 1.5 and later you don't need to do (almost) anything, it's done by the compiler.
    • For Java 1.4 and before, use Integer.intValue() to convert from Integer to int.

    BUT as you wrote, an Integer can be null, so it's wise to check that before trying to convert to int (or risk getting a NullPointerException).

    pstmt.setInt(1, (tempID != null ? tempID : 0));  // Java 1.5 or later
    

    or

    pstmt.setInt(1, (tempID != null ? tempID.intValue() : 0));  // any version, no autoboxing  
    

    * using a default of zero, could also do nothing, show a warning or ...

    I mostly prefer not using autoboxing (second sample line) so it's clear what I want to do.

    0 讨论(0)
  • 2020-12-02 12:15

    Since you say you're using Java 5, you can use setInt with an Integer due to autounboxing: pstmt.setInt(1, tempID) should work just fine. In earlier versions of Java, you would have had to call .intValue() yourself.

    The opposite works as well... assigning an int to an Integer will automatically cause the int to be autoboxed using Integer.valueOf(int).

    0 讨论(0)
  • 2020-12-02 12:20

    Java converts Integer to int and back automatically (unless you are still with Java 1.4).

    0 讨论(0)
  • 2020-12-02 12:20

    Perhaps you have the compiler settings for your IDE set to Java 1.4 mode even if you are using a Java 5 JDK? Otherwise I agree with the other people who already mentioned autoboxing/unboxing.

    0 讨论(0)
  • 2020-12-02 12:23

    Another simple way would be:

    Integer i = new Integer("10");
    
    if (i != null)
        int ip = Integer.parseInt(i.toString());
    
    0 讨论(0)
提交回复
热议问题