我编写了简单的类TheChar,它是原始类型char的包装类。
public class TheChar {
private char value;
public TheChar(char value) {
this.value = value;
}
public char getValue() {
return value;
}
}
为什么我不能像这样声明一个TheChars数组:
public class Test {
public static void main(String[] args) {
TheChar[] lol = {'o','a'};
}
}
因为当我使用Character类时声明
Character[] lol = {'o','a'};
将叉好
答案 0 :(得分:2)
您必须首先包装chars
,如:
TheChar[] lol = {new TheChar('o'), new TheChar('a')};
因为'a'
是char
,并且无法投放到自定义类
答案 1 :(得分:2)
Character
不是原始char
的简单包装器,它们之间的转换是由java编译器支持的。为了能够按照您想要的方式定义数组,您不仅需要编写包装器,还需要编写java编译器。