在构造函数中使用数组常量时出现编译器错误
2022-09-01 02:57:55
public class Sonnet29 implements Poem {
private String[] poem;
public Sonnet29() {
poem = { "foo", "bar" , "baz"};
}
@Override
public void recite() {
//...
}
}
行给出编译错误。poem = { "foo", "bar" , "baz"};
任何具体原因为什么不允许这样做?如何使用数组常量初始化字符串数组?
编辑:谢谢你们的回答。现在我清楚了什么是允许的,什么是不允许的。但是我能问你为什么这是不允许的吗?
String[] pets;
pets = {"cat", "dog"};
在谷歌搜索了一下之后,我发现了这个链接,在其中,它被告知像这样的编码使编译器变得模糊 - 宠物应该是字符串数组还是对象数组。但是,从声明中,它可以很好地确定它是一个 String 数组,对吧???