我有以下功能。
public String getSomething(){
TextInputDialog dialog = new TextInputDialog();
dialog.setHeaderText("X");
dialog.setTitle("Y");
Optional<String> result = dialog.showAndWait();
return result;
}
显然,返回的值不是String
类型。如果结果的类型为String
,我怎么能返回Optional<String>
答案 0 :(得分:1)
尝试执行result.get()
应该返回一个字符串。
答案 1 :(得分:1)
我使用orElse
,在实际值不存在的情况下提供默认值:
public String getSomething(){
TextInputDialog dialog = new TextInputDialog();
dialog.setHeaderText("X");
dialog.setTitle("Y");
return dialog.showAndWait().orElse("n/a");
}
答案 2 :(得分:0)
我会这样做,以确保您免受null的攻击
if(a. isPresent()) {a.get()}