Man*_*att 5 java optimization spring-boot java-9
是否有一种有效且最少冗余的方法来有条件地将新项目放入地图中。
GenericObject genericObject;
...
FieldObject obj = genericObject.getFieldObject();
if(obj == null) {
map.put("key1", null);
map.put("key2", null);
} else {
map.put("key1", obj.getField1());
map.put("key2", obj.getField2());
}
Run Code Online (Sandbox Code Playgroud)
我能做的最好的是以下,但很好奇是否有更好的方法在 Java 9 中执行上述操作。
boolean insert = obj != null;
map.put("key1", insert? obj.getField1() : null);
map.put("key2", insert? obj.getField2() : null);
Run Code Online (Sandbox Code Playgroud)
您可以使用Optional:
Optional<FieldObject> obj = Optional.ofNullable(genericObject.getFieldObject());
map.put("key1", obj.map(FieldObject::getField1).orElse(null));
map.put("key2", obj.map(FieldObject::getField2).orElse(null));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
427 次 |
| 最近记录: |