Optional类的方法

1、empty
private static void createNullOptional() {
Optional<Object> empty = Optional.empty();
System.out.println("empty = " + empty);
Optional<Object> empty2 = Optional.ofNullable(null);
System.out.println("empty2 = " + empty2);
}
2、of
private static void of() {
Optional<String> qiuqiu = Optional.of("qiuqiu");
System.out.println("qiuqiu = " + qiuqiu);
Optional<Object> optional = Optional.of(null);
System.out.println("optional = " + optional);
}
3、ofNullable
Optional<Object> empty2 = Optional.ofNullable(null);
System.out.println("empty2 = " + empty2);
4、filter
private static void filter() {
Optional<String> optional = Optional.empty();
Optional<String> result = optional.filter(item -> {
if (item.contains("o")) {
return true;
}
return false;
});
System.out.println("result = " + result);
}
5、map
private static void map() {
User user = new User("qiuqiu", 22);
Optional<User> qiuqiu = Optional.of(user);
Optional<User> optional = qiuqiu.map(item -> {
String name = item.getName();
item.setName(name.toUpperCase());
return item;
});
System.out.println("optional.get() = " + optional.get());
}
6、get
private static void get() {
Optional<Integer> optional = Optional.of(520);
Integer integer = optional.get();
System.out.println("integer = " + integer);
Optional<Object> empty = Optional.empty();
System.out.println("empty.get() = " + empty.get());
}
7、orElse
private static void orElse() {
Optional<Integer> optional = Optional.of(520);
Integer result = optional.orElse(1314);
System.out.println("result = " + result);
Optional<Object> empty = Optional.empty();
Object orElse = empty.orElse(1314);
System.out.println("orElse = " + orElse);
}
8、orElseGet
private static void orElseGet() {
Optional<Integer> optional = Optional.of(520);
Integer result = optional.orElseGet(() -> 1214);
System.out.println("result = " + result);
Optional<Object> empty = Optional.empty();
Object orElseGet = empty.orElseGet(() -> 1235);
System.out.println("orElseGet = " + orElseGet);
}
9、orElseThrow
private static void orElseThrow() {
Optional<Integer> optional2 = Optional.of(520);
Integer integer2 = optional2.orElseThrow(() -> {
throw new RuntimeException("出错啦!!!");
});
System.out.println("integer2 = " + integer2);
Optional<Object> empty2 = Optional.empty();
Object orElseThrow2 = empty2.orElseThrow(() -> {
throw new RuntimeException("出错啦!!!");
});
System.out.println("orElseThrow2 = " + orElseThrow2);
}
10、ifPersent
private static void ifPersent() {
Optional<Integer> optional = Optional.of(520);
optional.ifPresent(item -> {
System.out.println("item = " + item);
});
Optional<Object> empty = Optional.empty();
empty.ifPresent(item -> {
System.out.println("什么都不做!!!");
});
}
11、isPersent
public static void main(String[] args) {
Optional<Integer> optional = Optional.of(520);
boolean isPresent = optional.isPresent();
System.out.println("isPresent = " + isPresent);
Optional<Object> empty = Optional.empty();
System.out.println("empty.isPresent() = " + empty.isPresent());
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)