2 anno ying Anno_ying 于 2014.12.10 15:55 提问

Java中怎样证明集合中不能存入简单数据类型?

由于刚学到了集合这块,我们老师让我们证明集合中不能存入简单数据类型,
写程序的话定义的简单数据类型就会自动装箱成复杂变量了。这该怎么解决?

3个回答

lxq_xsyu
lxq_xsyu   Rxr 2014.12.10 16:46
已采纳

你们老师真奇葩,,,看看集合框架的源代码就证明了
class MyArrayList extends ArrayList{
@Override
public boolean add(Object object) {
// TODO Auto-generated method stub
return super.add(object);
}
}
这段代码就证明了,传入的必须是Object

Anno_ying
Anno_ying 好吧!谢谢!
3 年多之前 回复
lxq_xsyu
lxq_xsyu 这个问题就好比证明1+1=2,呵呵,证明了给我说一下,我看一下,期待中。。。。
3 年多之前 回复
Anno_ying
Anno_ying 那能不能写个程序,想办法给集合传个简单数据变量,然后程序运行出来后显示没有传入。
3 年多之前 回复
windsunmoon
windsunmoon   Rxr 2014.12.10 17:35

    public static void main(String[] args) {
        ArrayList a = new ArrayList();

        a.add(1);
        //打印其数据类型
        System.out.println(a.get(0).getClass()); 

    }
Anno_ying
Anno_ying 恩,谢谢!
3 年多之前 回复
lxq_xsyu
lxq_xsyu 这种证明方式只能说明取出来的不是基本类型,不能证明不能插入基本类型。话说这个老师是处于什么目的呢?这么奇葩,看看API和源码就知道了。。。
3 年多之前 回复
Anno_ying
Anno_ying 你这getClass()是什么方法?
3 年多之前 回复
caozhy
caozhy   Ds   Rxr 2014.12.10 17:52

可以插入,但是会被装箱。你们老师的意思应该是插入再取出,它们的引用不相等,或者是插入集合,修改,对原变量没有影响。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!