在Java中将Integer(可能为null)转换为int的更好方法?

Spa*_*ine 9 java int integer converter

一个Integer可以null.我将a转换Integerint:

Integer integer = null;
int i;

try {
    i = integer.intValue();
}
catch (NullPointerException e) {
    i = -1;
} 
Run Code Online (Sandbox Code Playgroud)

有没有更好的办法?

小智 20

使用 Java8 也可以执行以下操作:

Optional.ofNullable(integer).orElse(-1)
Run Code Online (Sandbox Code Playgroud)


Era*_*ran 14

避免异常总是更好.

int i = integer != null ? integer.intValue() : -1;
Run Code Online (Sandbox Code Playgroud)

  • @kocko` .intValue()`并没有避免拆箱; 它是_explicitly_拆箱 (4认同)
  • 忘了你和快速的手指.我正在寻找`int i = integer == null的自动装箱方式?0:整数;`. (2认同)