话不多说直接上代码:
// optional测试
// 固定语法,入参调用该方法的时候赋值
void testOptional(List<Object> list) {
// Optional.ofNullable() 传产可以为null,Optional.of()不可以为null
Optional<List<Object>> optional = Optional.ofNullable(list);
// optional.isPresent() 就是判断对象是否存在
if(optional.isPresent()) {
// get就是获取该对象
List<Object> lists = optional.get();
System.out.println("list:"+lists);
}else {
System.out.println("对象不存在");
}
}
@Test
void testOptional1() {
List<Object> list = new ArrayList<>();
list.add("nihao");
// 调用该方法,传递对应类型的参数
testOptional(list);
}
结果:
当传递对象为null时的情况对比:
// 固定语法,入参调用该方法的时候赋值
void testOptional(List<Object> list) {
// 判断对象是否为null,如果为null,
// Optional.ofNullable() 传产可以为null,Optional.of()不可以为null
Optional<List<Object>> optional = Optional.ofNullable(list);
// optional.isPresent() 就是判断对象是否存在
if(optional.isPresent()) {
// get就是获取该对象
List<Object> lists = optional.get();
System.out.println("list:"+lists);
}else {
System.out.println("对象不存在:"+ list);
}
}
@Test
void testOptional2() {
List<Object> list1 = null;
// 调用该方法,传递对应类型的参数
testOptional(list1);
}
结果: