Optional使用
程序员文章站
2022-06-08 10:18:42
...
所有方法:
/**
*对象A不为空取A,否则B
*/
Optional.ofNullable(user).orElseGet(User::new);
/**
*对象A不为空取A.prop, 否则取给定值
*/
Optional.ofNullable(user).map(User::getUsername).orElse("Default Name");
/**
*对象A为空,抛出异常
*/
Optional.ofNullable(user).orElseThrow(RuntimeException::new);
/**
*检验参数有效性
*/
Optional.ofNullable(user).filter(User::isValid).orElseThrow(RuntimeException::new);
@Data
static class User {
private String username;
private String password;
static boolean isValid(User user){
return Objects.nonNull(user.username);
}
}
推荐阅读
-
spring boot项目使用@JsonFormat失效问题的解决
-
QT界面 使用QStyledItemDelegate QPainter QStyleOptionViewItem QModelIndex组合实现项的绘制
-
使用@Autowired注解有错误提示的解决
-
C#使用Shader实现夜幕降临倒计时的效果
-
在Parallel中使用DbSet.Add()发现的一系列多线程问题和解决思路详解
-
详解C#获取特定进程CPU和内存使用率
-
使用C#发送Http请求实现模拟登陆实例
-
windows中使用C# 调用 C语言生成的dll
-
JQuery Ajax 使用FormData上传文件对象
-
使用Node.js实现压缩和解压缩功能