编写自己的包装类并声明其元素数组

时间:2015-03-24 16:26:21

标签: java arrays class char declaration

我编写了简单的类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'};

将叉好

2 个答案:

答案 0 :(得分:2)

您必须首先包装chars,如:

TheChar[] lol = {new TheChar('o'), new TheChar('a')};

因为'a'char,并且无法投放到自定义类

答案 1 :(得分:2)

Character不是原始char的简单包装器,它们之间的转换是由java编译器支持的。为了能够按照您想要的方式定义数组,您不仅需要编写包装器,还需要编写java编译器。