为什么我不能声明char的ArrayList,我知道String类存在但是它看起来仍然很奇怪我不能做下面这段代码
ArrayList<char> foo = new ArrayList<char>();
答案 0 :(得分:4)
您不能将原始类型用作泛型类型参数;您需要使用char
的包装类,即Character
:
List<Character> characterList = new ArrayList<>(); //Java 7
或
List<Character> characterList = new ArrayList<Character>(); //Java 5,6
这适用于任何接受泛型类型参数的类。例如,如果您尝试使用int
,则会出现相同的错误。相反,您必须使用Integer
。
答案 1 :(得分:3)
其Character
而非char
List<Character> foo = new ArrayList<Character>();
从首字母开始,您可以轻松地表明char
不是上课
答案 2 :(得分:3)
集合不允许使用原始类型。如果您尝试过任何基元(int,long,double等),您会遇到此错误。使用诸如Character之类的原始包装来声明集合。
ArrayList<Character> foo = new ArrayList<Character>();
答案 3 :(得分:1)
尝试Character
,
ArrayList<Character> characterList = new ArrayList<Character>();