【发布时间】:2018-11-12 23:20:54
【问题描述】:
我必须使用 lambda 表达式。在这种情况下,try 块使用输入字符串创建了一个 JSON 对象。但我必须实现这一点,如果创建不起作用,它应该返回Optional.Empty() 而不是null。
我怎样才能做到这一点 ?
在当前情况下,工作流停止,直到捕获发生。所以其他字符串都被忽略了。
private Optional<JSONObject> testFile (Optional<String> jsonFileContent)
{
try
{
return jsonFileContent.map(fileContent -> new JSONObject(jsonFileContent)); // this lambda expression needs to be extended
}
catch(Exception e)
{
return null;
}
}
【问题讨论】:
-
永远不要从声明返回
Optional的方法中返回null,而是返回Optional.empty()。
标签: java class lambda expression optional