1. 程式人生 > >關於List中可以新增null的問題

關於List中可以新增null的問題

在回顧看java程式設計思想時,練習小程式,給ArrayList中新增元素,ArrayList中可以新增null元素,對這個現象,表示不太理解。
ArrayList已經又泛型約束了,只能新增指定型別或者其子類或實現類,新增null時,null和泛型直接的關係……null需要繼續關注;

import java.util.ArrayList;

public class ListDemo {
    public static void main(String[] args) {
        ArrayList<Gerbil> list = new ArrayList<Gerbil>();
        for
(int i = 0;i<8;i++){ list.add(new Gerbil()); } //不報錯,但是這樣做是危險的,在堆集合元素進行方法呼叫 //時,有可能出現空指標異常 list.add(null);//可以新增null list.add(new Object());//不可以新增 System.out.println(list.size()); for(int i = 0;i<list.size();i++){ //此處要進行空指標判斷,
//避免呼叫錯誤 if(list.get(i)!=null){ System.out.println(list.get(i).id()); } } } } class Gerbil{ private static int gerbilNumber;//靜態資料,所有類物件共享 //不可修改的型別,一旦複製,不再修改,減少執行開銷 private final int id = gerbilNumber++; public String id(){return
"the number "+id+" gerbil is running!";} }