A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 吴刚—heima 中级黑马   /  2013-5-31 19:14  /  1282 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 吴刚—heima 于 2013-6-2 14:11 编辑

我测试了一下,Collection可以你面可以添加StringBuffer对象,就是说new Collection.add(new StringBuffer(""));这句代码是可以的,但是为什么里面不能添加数组对象呢?

评分

参与人数 1技术分 +1 收起 理由
袁梦希 + 1 很给力!

查看全部评分

6 个回复

倒序浏览
1 可以的,集合里面可以添加任何对象。
回复 使用道具 举报
2 new Collection()是不允许的,只能够用它的子类

回复 使用道具 举报
本帖最后由 顾玲玉 于 2013-5-31 21:35 编辑

public class Test {

        /**
         * @param args
         */
        public static void main(String[] args) {
                Collection c =new ArrayList();
                int[] arr = {2,3,4};
                int[] arr1= {6,7,8};
                c.add(arr);
                c.add(arr1);
                for(Object o:c){
                        int[] iteratorObj =( int[])o;
                        System.out.println("当前数组值:"+iteratorObj[0]+","+iteratorObj[1]+","+iteratorObj[2]);
                }
        
        }
//Collection 提供的add方法:public abstract boolean add(Object obj);
Collection 是一个接口:public interface Collection 不能直接new来使用的。只能new它的子类,看以上例子。Collection它提供的add方法,参数类型是Object ,所有类都是Object的子类,所以,所有对象都可以添加。

评分

参与人数 1技术分 +1 收起 理由
袁梦希 + 1 很给力!

查看全部评分

回复 使用道具 举报
集合里是可以添加任何对象的,但是亲 , Collection是个抽象类,你怎么可以new一个对象出来呢,你只能通过其子类new吧,多态的实现,new ArrayList().add(new StringBuffer(""));是可以的

评分

参与人数 1技术分 +1 收起 理由
袁梦希 + 1 很给力!

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马