Set property only if is not null
本问题已经有最佳答案,请猛点这里访问。
我在输入中有一些数据,必须使用这些数据来设置POJO的所有属性。可能部分设置了POJO。我的问题是仅当相关的输入数据不为空时才设置属性。我知道我可以用两种方式做到这一点:
1 2 3 | if (input != null) { obj.setData(input); } |
或
1 | obj.setData(input != null ? input : obj.getData()); |
号
我在寻找一个不那么难看的解决方案,更好地为具有大量属性的对象设置。
您也可以使用
1 | obj.setData(Optional.ofNullable(input).orElse(obj.getData())); |
或者使用更优雅的方式:
1 | Optional.ofNullable(input).ifPresent(obj::setData); |
号
使用番石榴:
1 2 |