<分区>
我最近发现了 java 8 中的 Optional 类型,并开始在我的最新项目中使用它。我像这样使用它:
public class User{
private int id;
private String email;
private Optional<String> mobile;
public User(int id, String email, Optional<String> mobile){
...
}
public int id(){...}
public int email(){...}
public Optional<String> mobile(){...}
}
今天,当我看到一些帖子时,我正在探索更多关于 Optional 的内容,这些帖子明确指出在返回类型以外的地方使用 Optional 是一种不好的做法。从多个来源验证后,我更改了我的代码:
public class User{
private int id;
private String email;
private String mobile;
public User(int id, String email, String mobile){
...
}
public int id(){...}
public int email(){...}
public Optional<String> mobile(){
return Optional.ofNullable(mobile);
}
}
这是一个可接受的解决方案吗?具体来说,我将一些方法签名更改为 T,然后在方法内部将 T 转换为 Optional.ofNullable(t),以便我可以使用 ifPresent、orElse、filter、map 等方法。