Я пытаюсь удвоить массив в нестатической контексте следующим образом:Проблемы с инициализацией переменной при нестатическая
public class Test {
int[] data=new int[1];
public void Double(){
if(data == null){
int[] data=new int[1];
}
int[] data=new int[data.length*2];
}
public static void main(String[] args){
Test table = new Test();
table.data=new int[1];
}
}
Javac не будет компилировать его, потому что он предупреждает меня, что
переменные данные не могли быть инициализированы
несмотря на то, что, очевидно, был инициализирован, как я могу обойти эту проблему?
Извините, слишком поверхностно читал и пытался найти муху в супе. –
@Eran Его следовало назвать «Тест». 'double' - это ключевое слово и, следовательно, не идентификатор и, следовательно, не имя юридического метода. – EJP
@EJP Я не думал об этом. Однако, поскольку целью этого метода является удвоение длины массива-члена, возможно, 'doubleArray()' будет лучше соответствовать. Вызывать его с тем же именем, что и класс, тоже сбивает с толку, поскольку он не является конструктором. – Eran