Tôi muốn biết tại sao HashSet, LinkedHashSet và TreeSet thực hiện không cho phép các phần tử null? Bất cứ khi nào tôi cố gắng biên dịch mã sau nó ném con trỏ null.Tại sao giao diện Thiết lập không cho phép các phần tử null?
public static void main(String[] args) {
HashSet<Integer> hashSet = new HashSet<Integer>();
hashSet.add(2);
hashSet.add(5);
hashSet.add(1);
// hashSet.add(null); will throw null pointer
hashSet.add(999);
hashSet.add(10);
hashSet.add(10);
hashSet.add(11);
hashSet.add(9);
hashSet.add(10);
hashSet.add(000);
hashSet.add(999);
hashSet.add(0);
Iterator<Integer> it = hashSet.iterator();
while(it.hasNext()){
int i = it.next();
System.out.print(i+" ");
}
}
Vui lòng hướng dẫn tôi.
tiêu đề gây nhầm lẫn. Ví dụ. Tài liệu 'HashSet' nói rõ ràng * Lớp này cho phép phần tử null. * – Abdull