对象数组与普通数组的区别

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
        }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值