java – 使用Optional选择Null
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java – 使用Optional选择Null,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1141字,纯文字阅读大概需要2分钟。
内容图文
![java – 使用Optional选择Null](/upload/InfoBanner/zyjiaocheng/753/c1d4b59914e345c381d4cbbc012a707e.jpg)
我想使用Optional实用程序在JDK8中执行空检查.这是我写的代码,它给了我一个错误:
java.util.Optional stringToUse = java.util.Optional.of(childPage.getContentResource().getValueMap().get("jcr:description").toString());
stringToUse.ifPresent(description = stringToUse);
这里“jcr:description”可以存在与否.如果它存在,我想在描述变量中使用该值,如果为null,则只需设置空白字符串以进行描述. Lambda表达式也可以在这里使用吗?谢谢
解决方法:
如果get(“jcr:description”)的结果可以为null,则不应该在其上调用toString(),因为没有任何内容,如果在使用之前的操作已经失败且NullPointerException,则Optional可以执行.
您想要什么,可以通过以下方式实现:
Optional<String> stringToUse = Optional.ofNullable(
childPage.getContentResource().getValueMap().get("jcr:description")
).map(Object::toString);
然后你可以用它作为
if(stringToUse.isPresent())
description = stringToUse.get();
如果“不采取任何行动”是对不存在的价值的预期行动.或者,您可以为该案例指定回退值:
description = stringToUse.orElse("");
然后,始终使用jcr:description的字符串表示或使用空字符串分配描述.
您可以使用stringToUse.ifPresent(string – > description = string);,如果description不是局部变量,而是字段.但是,我不推荐它.
内容总结
以上是互联网集市为您收集整理的java – 使用Optional选择Null全部内容,希望文章能够帮你解决java – 使用Optional选择Null所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。