关闭。这个问题是基于意见的。它目前不接受答案。
**想改进这个问题吗?**编辑这篇文章,更新这个问题,以便用事实和引文来回答。
三天前关门。
改进这个问题
这样写好吗?
UserInfo myMethod(User user) {
user = Optional.ofNullable(user).orElse(new User())?
String name = user.getName()
String type = user.getType();
return new UserInfo(name, type);
}
或更好地使用标准方式:
UserInfo myMethod(User user) {
if(user == null) { return null }
String name = user.getName()
String type = user.getType();
return new UserInfo(name, type);
}
是否有人可以提供良好的零安全最佳实践链接?
1条答案
按热度按时间wgx48brx1#
第一个版本看起来很像代码味道:返回一个
UserInfo
对象,该对象对应于空值User
. 这似乎是一种违反直觉的方法,如果字段name
及type
没有具体说明。第二个版本更好,因为如果用户为null,它只返回null。另一种方法是强制调用方使用以下命令传递非null参数: