public class Sonnet29 implements Poem {
private String[] poem;
public Sonnet29() {
poem = { "foo", "bar" , "baz"};
}
@Override
public void recite() {
//...
}
}
Линия poem = { "foo", "bar" , "baz"};
дает ошибку компиляции.
Любая конкретная причина, по которой это не разрешено? Как инициализировать массив String с помощью констант массива?
EDIT: Спасибо вам за ответы. Теперь я понимаю, что разрешено, а что нет. Но могу ли я спросить вас , почему это НЕ разрешено?
String[] pets;
pets = {"cat", "dog"};
После небольшой загрузки я нашел ссылку , в которой говорится, что такое кодирование оставляет компилятор в двусмысленности - Домашние животные должны быть массивом строк или массива объектов. Однако из объявления, он может очень хорошо понять, что это массив String, правильно???