Je suis en train de doubler un tableau dans un contexte non statique de la manière suivante:Problème avec initialisation variable lorsque non statique
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];
}
}
Le javac ne compilera pas parce qu'il me prévient que
données variables pourraient ne pas avoir été initialisé
Même si elle a évidemment été initialisé, comment puis-je contourner cela?
désolé lisait trop superficiellement, et essayer de trouver la mouche dans la soupe. –
@Eran Cela aurait dû s'appeler 'Test'. 'double' est un mot-clé, et donc pas un identifiant, et donc pas un nom de méthode légale. – EJP
@EJP Je n'y ai pas pensé. Cependant, puisque le but de cette méthode est de doubler la longueur du tableau membre, peut-être 'doubleArray()' aurait-il mieux convenir. L'appeler avec le même nom que la classe aurait été source de confusion, car ce n'est pas un constructeur. – Eran