我是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语法?)
任何评论都会对我感到高兴。
答案 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);