0
我試圖用一個新值替換數組中的所有相同元素,下面是我提出的代碼。但是,如果我將空值添加到程序中,則IDE將顯示NullPointerException。這是爲什麼發生?爲什麼下面的程序不能使用空值
public class ReplaceAllOfTheSameElements {
public static <E> void replace(List<E> list, E val, E newVal){
for(ListIterator<E> it = list.listIterator(); it.hasNext();){
if(val.equals(it.next())){
it.set(newVal);
}
// if(val == null ? it.next() == null : val.equals(it.next())){
// it.set(newVal);
// }
}
}
public static void main(String[] args) {
List<Integer> ci1 = new ArrayList<>(Arrays.asList(null, 22, 33, 44, 55, 66, 77));
ReplaceAllOfTheSameElements.replace(ci1, null, 11);
System.out.println(ci1);
}
}
null == null!= 0 –