编写我自己的包装器 class 并声明其元素数组
Writing my own wrapper class and declaring array of its elements
我写了简单的 class TheChar,它是原始类型 char 的包装器 class。
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'};
}
}
因为当我使用字符 class 声明时
Character[] lol = {'o','a'};
会很好地分叉
您必须先包装 chars
,如:
TheChar[] lol = {new TheChar('o'), new TheChar('a')};
因为 'a'
是 char
,不能转换为自定义 class
Character
不是原语 char
的简单包装器,java 编译器支持它们之间的转换。为了能够按照您想要的方式定义数组,您不仅需要编写包装器,还需要编写 java 编译器。
我写了简单的 class TheChar,它是原始类型 char 的包装器 class。
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'};
}
}
因为当我使用字符 class 声明时
Character[] lol = {'o','a'};
会很好地分叉
您必须先包装 chars
,如:
TheChar[] lol = {new TheChar('o'), new TheChar('a')};
因为 'a'
是 char
,不能转换为自定义 class
Character
不是原语 char
的简单包装器,java 编译器支持它们之间的转换。为了能够按照您想要的方式定义数组,您不仅需要编写包装器,还需要编写 java 编译器。