我是一名java初学者。请帮帮我,这段代码出了什么问题:
public class Test {
char[] alfa;
Test(){
alfa = {'a','b'};
}
public static void main(String[] args) {
Test t = new Test();
System.out.println(t.alfa[0]);
}
}
谢谢,
答案 0 :(得分:9)
你做不到:
alfa = {'a','b'};
应该是:
alfa = new char[]{'a','b'};
简写符号只能在声明数组时使用,如下所示:
char[] alfa = {'a','b'};
答案 1 :(得分:2)
您只能在初始值设定项中使用数组常量,即
char[] alfa = { 'a', 'b' };
否则,您必须使用new
,如下所示:
alfa = new char[] { 'a', 'b' };
答案 2 :(得分:1)
您可以尝试这种方式:
public class Test
{
private char[] alpha;
public char[] getAlpha()
{
return this.alpha;
}
public Test(){
this.alpha = new char[]{'a','b'};
}
public static void main(String[] args) {
Test t = new Test();
System.out.println(t.getAlfa()[0]);
}
}
答案 3 :(得分:0)
在这一行:
alfa = {'a','b'};
您将收到Array constants can only be used in initializers
编译器错误。您应该像这样初始化char[]
:
alfa = new char[]{'a','b'};
或者在宣布时将其初始化
char[] alfa = {'a', 'b'};
查看Java教程中的Arrays Chapter,特别是“创建,初始化和访问数组”部分。