Can*_*ner 0 string integer java-8
这听起来很简单,但是我找不到在不使用Java 8+的情况下将String值(可能为null)转换Integer为单行的方法if else.答案可能涉及ofNullable和的使用isPresent.
我试过的一些事情:
String x = ...;
Integer.valueOf(x); // fails if x is null
Optional.ofNullable(Integer.valueOf(x)).orElse(null); // NullPointerException
Run Code Online (Sandbox Code Playgroud)
int value = Optional.ofNullable(x).map(Integer::parseInt).orElse(0);
Run Code Online (Sandbox Code Playgroud)
这将导致一个默认值0,如果输入的String是null.
作为替代方案,使用:
Integer value = Optional.ofNullable(x).map(Integer::valueOf).orElse(null);
Run Code Online (Sandbox Code Playgroud)
这将导致null输入String是null.