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, верно ???