为什么我不能声明一个字符的ArrayList

时间:2014-04-01 16:04:43

标签: java arraylist character

为什么我不能声明char的ArrayList,我知道String类存在但是它看起来仍然很奇怪我不能做下面这段代码

ArrayList<char> foo = new ArrayList<char>();

4 个答案:

答案 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>();