第一个不明白
ArrayList c=new Arraylist();
        c.add(Integer.toString(3));
3是int,是java 的原始数据类型,不是Object,而String是特殊的数据类型,既是原始数据类型又是Object,所以要这样用。

解决方案 »

  1.   

    关于你的第一个问题, 比如我经常使用的 Map map = new HashMap(); List lst = new ArrayList(); ...为什么这样使用起始涉及一个良好的编程习惯, 使用抽象父类, 或者接口类型来引用具体的对象实例,包括当作方法的返回值, 好处之一就是以后你的代码可以保存更多的灵活性, 例如, 以后你可以用 TreeMap 开实例化原来指向 HashMap 的那个 map, 而其它程序均不会受到影响.
      

  2.   

    用父类到定义是可以让程序有很好的扩展性和灵活性,比如这样一个函数public ArrayList aa(ArrayList bb) {
    ..........
    return bb;
    }
    如果人家想用这个函数处理一个linkedList的话就没办法用了,但如果这样用
    public List aa(List bb) {
    ..........
    return bb;
    }
    只要传进来的实现了List接口都可以用,返回的东西也一样