A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 刘晓康 中级黑马   /  2012-3-31 19:35  /  4285 人查看  /  13 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

ArrayList<Integer> list=new ArrayList<Integer>();
这个声明提示ArrayList处有错误,请问一下怎么解决.

13 个回复

倒序浏览
public static void main(String[] args) {
       
              ArrayList<Integer> List= new ArrayList<Integer>();
             List.add(4);
             List.add(5);
             List.add(7);
             List.add(7);
         System.out.println(List);
        }
打印结果:[4, 5, 7, 7]。
不知道你用的什么软件编写的,还是怎么的,我的完全可以运行,没有错误。
回复 使用道具 举报
你用的Eclipse吧?是不是没导包啊,import  java.util.ArrayList;
回复 使用道具 举报
可能是你的编译器版本过低,最低要1.5版,因为泛型出现在 jdk1.5以后,配置一下编译器版本试试,用1.5或1.6
回复 使用道具 举报
错误的信息 , 还有你的代码也不齐全  ArrayList<Integer> list=new ArrayList<Integer>(); 是没错误的
回复 使用道具 举报
      代码是没有错,是不是你没有导包
回复 使用道具 举报
   是否是版本问题,换下版本试试,然看看你Eclipse下,是不是用的你自己装的JDK,还是用Eclipse自带的JDK。
回复 使用道具 举报
版本不能低于1.5的,或是你用的编译器没导JDK,要不就是你没导入java.util.ArrayList.工具包了
回复 使用道具 举报
ArrayList list = new ArrayList<Integer>();
此时list等同于ArrayList<Object>类型

ArrayList<Integer> list2 = new ArrayList();
指定了list2只能存放Integer类型

泛型的具体类型限制是受制于前面的声明,而不限于后面new出来的类型,

之所以出现这两种写法,是为了保持兼容性,安全性检查就要自己考虑了。
ArrayList<Number> list= new ArrayList<Integer>();
这种编译的时候类型只能存放Number类型,  这个是泛型定义死的,只能存放Number类型,
回复 使用道具 举报
代臣 黑马帝 2012-4-1 13:04:06
10#
希望你把代码附上,看过之后一头雾水。
回复 使用道具 举报
是不是你用add方法向集合中加入Integer以外对象了……
回复 使用道具 举报
郑涛 发表于 2012-4-2 23:52
是不是你用add方法向集合中加入Integer以外对象了……

早改好了是不是,我这是什么啊。。
回复 使用道具 举报
这行代码是没有问题的,肯定是其他地方出了问题,你最好把所有代码发来,大家才好帮你解决
回复 使用道具 举报
如果你只写了这么一句就错了的话,那么问题绝对是没有导这个包
import java.util.*;    加上这个就好了。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马