首页 新闻 会员 周边 捐助

通过反射往一个String类型中传一个Integer类型转换异常问题

0
悬赏园豆:20 [待解决问题]
 1     public static void main(String[] args) throws IllegalAccessException, IllegalArgumentException, InvocationTargetException, NoSuchMethodException, SecurityException {
 2         //定义一个String类型的list1的集合
 3         
 4         List<String> list1=new ArrayList<String>();
 5         //定义一个Integer类型的list2的集合
 6         
 7         List<Integer> list2=new ArrayList<Integer>();
 8         System.out.println(list1.getClass()==list2.getClass());12         //通过反射来向一个Integer类型的list2集合中加入一个“abc”字符串
13         list2.getClass().getMethod("add", Object.class).invoke(list2, "abc");
14         list2.add(2);
15         list1.getClass().getMethod("add", Object.class).invoke(list1, 1);
16         list1.add("ab");
17         
18         for(Iterator<Integer> it=list2.iterator();it.hasNext();){
19             System.out.print(it.next()+"  ");
20         }
21         System.out.println();
22         //????类型转换异常26         for (String s : list1) {
27             System.out.print(s+" ");
28         }
29         
30     }

如上述程序 为什么向一个Integer的集合中添加一个String类型的可以,而反过来就会报类型转换异常呢?
凤栖梧桐镇的主页 凤栖梧桐镇 | 初学一级 | 园豆:182
提问于:2015-08-09 17:05
< >
分享
所有回答(1)
0

反射抛出异常:

无非就是2种情况,要么数据库对应的实体没有对应,要么就是实体对象多了

唯我独萌 | 园豆:537 (小虾三级) | 2015-08-10 08:22
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册