黑马程序员技术交流社区

标题: toString的调用 [打印本页]

作者: Cheers_for_CRAZ    时间: 2013-12-30 16:08
标题: toString的调用
        int[] arr=new int[]{1,2,3};
                for(int i=0; i<arr.length; i++)
                System.out.println(arr[i]);//这里面调用的toString是哪个类中的?
               
                Object[] obj=new Object[]{"str",new ArrayList<String>(),1};
                for(int i = 0;i<obj.length;i++){
                        System.out.println(obj[i]);//这里面调用的toString又是哪一个类中的?
                }
作者: 刘汉文    时间: 2013-12-30 16:27

int[] arr=new int[]{1,2,3};
     for(int i=0; i<arr.length; i++)
                System.out.println(arr);//这里面调用的toString是哪个类中的?
               // 对于java中的基本数据类型,都可以通过打包转换成其各自对应的包装类,然后通过调用toString方法进行转换成字符串。
                Object[] obj=new Object[]{"str",new ArrayList<String>(),1};
                for(int i = 0;i<obj.length;i++){
                        System.out.println(obj);//这里面调用的toString又是哪一个类中的?             //String类自身重写了toString方法,ArrayList 继承了AbstractCollection类的toString方法。
                }

作者: Cheers_for_CRAZ    时间: 2013-12-30 22:27
楼上的回答不是很满意,有哪位大神再出来帮帮忙?解释一下?
作者: doitforyou    时间: 2013-12-31 15:12
我也坐等大神回答,顺便说下个人见解:
数组是在程序运行中动态创建的,并指定其类型和长度,Object类型的数组比较特殊,
因为他在使用时是拆成单独的对象进行使用,调用它本身的toStirng方法,
而非Object类型的数组则不一样,它的类型在一开始就确定了,所以元素直接调用它本类型的
toString方法。
水平所限,只能理解到这了。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2