本帖最后由 王红潮 于 2012-9-13 16:36 编辑
- public static void main(String[] args)
- {
- List list = new ArrayList();
- list.add("adfa");
- list.add("aaa");
- list.add("bbb");
- List<Integer> intList = list;
- for(int i=0;i<intList.size();i++){
- System.out.println(intList.get(i));
- }
- }
复制代码 正常运行打印输出,jvm会将集合中的元素当成Integer遍历打印- public static void main(String[] args)
- {
- List list = new ArrayList();
- list.add("adfa");
- list.add("aaa");
- list.add("bbb");
- List<Integer> intList = list;
- for(int i=0;i<intList.size();i++){
- Integer in = intList.get(i); //这里定义一个Integer遍历接收集合中的元素
- System.out.println(in);
- }
- }
复制代码 报异常,ClassCastException,String类型不能转成Integer,那么下面定义给一个String来接收- public static void main(String[] args)
- {
- List list = new ArrayList();
- list.add("adfa");
- list.add("aaa");
- list.add("bbb");
- List<Integer> intList = list;
- for(int i=0;i<intList.size();i++){
- //Integer in = intList.get(i);
- String in = intList.get(i);
- System.out.println(in);
- }
- }
复制代码 用一个带泛型的去接收一个不带泛型的集合:
依然报异常,类型不匹配,不能从字符串转换成整数,这是为什么呢?集合中的元素类型还是String类型,为什么要转换成整数呢?
Exception in thread "main" java.lang.Error: Unresolved compilation problem:
Type mismatch: cannot convert from Integer to String
|
|