一个List对象里嵌套有两个List怎么判空
时间: 2024-01-14 14:02:21 浏览: 138
假设有一个 List 对象,其中嵌套有两个 List 对象,分别为 list1 和 list2,可以使用以下代码来判断它们是否为空:
```
import java.util.Optional;
// 判断 List 是否为空
Optional<List<List<Object>>> optionalList = Optional.ofNullable(list);
if (optionalList.isPresent() && !list.isEmpty()) {
List<List<Object>> outerList = list;
// 判断 list1 是否为空
Optional<List<Object>> optionalList1 = Optional.ofNullable(outerList.get(0));
if (optionalList1.isPresent() && !optionalList1.get().isEmpty()) {
List<Object> innerList1 = optionalList1.get();
// 如果 list1 不为空,则执行相应的操作
}
// 判断 list2 是否为空
Optional<List<Object>> optionalList2 = Optional.ofNullable(outerList.get(1));
if (optionalList2.isPresent() && !optionalList2.get().isEmpty()) {
List<Object> innerList2 = optionalList2.get();
// 如果 list2 不为空,则执行相应的操作
}
}
```
其中,`Optional.ofNullable(list)` 方法可以将 List 对象封装成 Optional 对象,判断该 Optional 对象是否存在和 List 是否为空即可。注意,如果 List 对象为 null,则封装后的 Optional 对象不存在,需要通过 `Optional.isPresent()` 方法判断。同时,为了避免空指针异常,需要先判断 Optional 对象是否存在,再调用 List 对象的 isEmpty() 方法。另外,由于有两个 List 对象,需要通过 `List.get(index)` 方法获取其中的一个对象,再进行判空和操作。
阅读全文