每个循环的默认nullpointexception检查器

时间:2017-04-07 21:08:15

标签: java foreach nullpointerexception

是否有针对每个循环的默认nullpointerexception检查器?

例如,现在我正在编写一个可循环列表的每个循环。但是为了测试列表不为null,我必须明确地测试它。

我的代码是否可以通过我不知道的默认nullpointerexception检查器进行简化?这样我就不必创建if语句并手动检查null。

我目前的代码:

if (myList != null) {
     for (String item : myList) {
          ...;
          ...;
     }
}

3 个答案:

答案 0 :(得分:2)

一种方法是使用Java 8流API过滤掉空值:

myList.stream()
   .filter(Objects::nonNull)
   .forEach(elem -> doSomething(elem));

答案 1 :(得分:1)

如果我理解您的问题,您需要检查ArrayList内的项目是否为NULL。我们知道ArrayList允许添加NULL。所以,你可以这样做来测试它:

for (String item : myList) {
    if (item != null){
      ...;
      ...;
    }
}

如果您还想确保列表本身不是NULLArrayList中的元素也不是NULL,那么请执行以下操作:

if (myList != null) {
   for (String item : myList) {
       if (item != null) {
          ...;
          ...;
       }
   }
}

答案 2 :(得分:1)

您的列表不为空并不保证其中的对象不是......

不幸的是,您还需要检查一下

Ember.get