如何避免null in(string sth:array)java

时间:2017-05-06 02:21:34

标签: java arrays null

我是java的新手,目前正在研究制作&以各种方式尝试。

我正在尝试使用for(String sth:array)语法在数组中打印出没有null的值。所以我先尝试了,

for(String sth : arr){
    if(arr[sth] != null)
    System.out.println(arr[sth]);
}

但它不起作用,所以我也尝试了

for(String sth : arr){
  if(arr[Integer.valueOf(sth)] != null)
  System.out.println(arr[Integer.valueOf(sth)]);
}

但它也没有用。

是否可以避免空值,而不使用下面的方法?

for(int i = 0 ; i < arr.length ; i ++){
   if(arr[i] != null)
}

(我在这个网站上搜索了我的问题30分钟,但我找不到与我类似的任何问题所以我写了这个问题。我是否误解了基本的Java语法?)

任何评论都会对我感到高兴。

1 个答案:

答案 0 :(得分:2)

for-each可以像数组中的每个元素 sth一样读取(执行某些操作)。像

for (String sth : arr) {
    if (sth != null) {
        System.out.println(sth);
    }
}

,在Java 8 +中,

Stream.of(arr).filter(x -> x != null).forEachOrdered(System.out::println);