黑马程序员技术交流社区
标题:
泛型的问题?
[打印本页]
作者:
董志超
时间:
2012-10-28 07:27
标题:
泛型的问题?
问题:为什么在一个Integer的List里面插入一个String的对象读取成功而在一个String的List插入一个整数读取时抛出ClassCastException?看代码。
以下是在一个Integer的List里面插入一个String对象,读取正确。
public class IteratorTest2 {
public static void go(List list)
{
list.add("1.1");
}
public static void main(String args[])
{
List<Integer> list=new ArrayList<Integer>();
list.add(1);
go(list);
System.out.println(list.get(1));
}
}
------------------------------------------------------------
以下是在一个String的List里面插入一个整型数,读取抛出异常。
public class IteratorTest2 {
public static void go(List list)
{
list.add(1.1);
}
public static void main(String args[])
{
List<String> list=new ArrayList<String>();
list.add("1");
go(list);
System.out.println(list.get(1));
}
}
作者:
张忠豹
时间:
2012-10-28 10:51
这个问题太犀利了,以前都没有考虑过!
我想应该是自动装箱的功能吧!
list.add("1.1");只所以成功,是因为Integer中有个Integer(String s) 方法,
而 list.add(1.1);失败,是因为String中没有相关的构造方法。
作者:
崔政
时间:
2012-10-28 11:06
这个问题还真是不一般的犀利啊。。
那个1.1都把我搞蒙了。。我算是知道泛型的好处了。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2