将此null检查转换为java 8可选
发布时间:2020-12-15 08:27:46 所属栏目:Java 来源:网络整理
导读:我无法理解如何使用 Java 8 Optional删除下面的空检查 for (A objA : listOfObjectsA) { if (objA.getStringField() == null) continue; // some code to do if not null} 解决方法 如果“某些代码如果不为null”只对objA.getStringField()进行操作,那么你可
我无法理解如何使用
Java 8 Optional删除下面的空检查
for (A objA : listOfObjectsA) { if (objA.getStringField() == null) continue; // some code to do if not null } 解决方法
如果“某些代码如果不为null”只对objA.getStringField()进行操作,那么你可以这样做:
listOfObjectsA.stream() .map(A::getStringField) .filter(Objects::nonNull) .forEach(e -> ...); 但是,如果您仍然想要访问A元素,那么正如其他答案所示,您别无选择,只能执行显式的objA.getStringField()!= null: listOfObjectsA.stream() .filter(a -> a.getStringField() != null) .forEach(a -> ...); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |