1. 程式人生 > >物件陣列與普通陣列的區別

物件陣列與普通陣列的區別

public static void main(){
        int[] ia = new int[10];
        //在這個陣列建立的時候,陣列中元素都是0
        //此時System.out.println(ia[0]+2);輸出的是2
        String b;
        //此時b是String型別的物件,而該物件管理的是一個字串
        //因此System.out.println(b);會得到null
        String[] a = new String[10];
        //在陣列建立的時候,陣列中元素事實上是字串的管理者(字串指標)
        //在此時System.out.println(a[0]);會輸出的是null
//System.out.println(a[0]+"a");會出現異常 //物件陣列和基礎陣列的差別見上,ia是普通陣列,裡面是就是每個元素,而a陣列剛建立的時候裡面是每個物件的管理者。 }

for-each迴圈下的體現

    class Value{
        private int i;
        public void set(int i) { this.i = i;}
        public int get() { return i; }
    }
    public static void main(){
        Value[] a= new
Value[10]; for(int i=0;i<a.length;i++){ a[i]=new Value(); a[i].set(i); } for(Value v:a){ System.out.println(v.get());//得到輸出結果0到9 } for(Value v:a){ v.set(0); } for(Value v:a){ System.out.println(v.get
());//得到輸出結果全部是0 } }

另外對於容器類的for-each迴圈也是可以用的

        ArrayList<String> a=new ArrayList<String>();
        a.add("first");
        a.add("second");
        for(String s : a){
            System.out.println(s);//輸出的就是first和second
        }