黑马程序员技术交流社区
标题:
为什么c1不行,c2可以?
[打印本页]
作者:
江南雨
时间:
2013-6-6 14:49
标题:
为什么c1不行,c2可以?
public static void main(String[] args) throws SecurityException, NoSuchMethodException, IllegalArgumentException, IllegalAccessException, InvocationTargetException {
// TODO Auto-generated method stub
ArrayList<String> c1=new ArrayList<String>();
//c1.add(1);
Method method=c1.getClass().getMethod("add",Object.class);
method.invoke(c1, Integer.valueOf(10));
System.out.println(c1.get(0));
ArrayList<Integer> c2=new ArrayList<Integer>();
Method method1=c2.getClass().getMethod("add",Object.class);
method1.invoke(c2, "ac");
System.out.println(c2.get(0));
}
}
复制代码
为什么integer不可以转成String ,但是String却可以转换成integer类型的呢?
作者:
刘海芳
时间:
2013-6-6 21:46
个人理解:
泛型虽然会擦除”类型”信息,但是泛型的另一个好处就是内部类型转换,所以在Integer在泛型内部机制转换是出错了...
作者:
花心々小土豆
时间:
2013-6-6 22:31
楼主这代码怎么搞的,不能这么干啊,就一部分怎么看!
作者:
李九一
时间:
2013-6-15 07:30
不能这样转换的
作者:
孙百鑫
时间:
2013-6-22 01:15
楼主您好~帖子长时间未作出回答,我已经将您的帖子改成已解决。如果有问题的话可以私密我哦~
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2