Syntaxe d'initialisation des tableaux et contraintes de déclaration
En Java, il existe différentes manières d'initialiser des tableaux, mais elles doivent respecter des règles de syntaxe spécifiques. Cet article explique pourquoi le compilateur Java restreint l'initialisation d'une variable de tableau qui n'a pas été déclarée.
Lors de la déclaration d'un tableau, il est possible de l'initialiser simultanément avec des valeurs à l'aide d'accolades. Par exemple, le code suivant est valide :
AClass[] array = {object1, object2};
Une autre option consiste à créer le tableau à l'aide du nouveau mot-clé, puis à attribuer des valeurs à ses éléments individuellement :
AClass[] array = new AClass[2]; ... array[0] = object1; array[1] = object2;
Cependant, le le code suivant n'est pas autorisé par le compilateur Java :
AClass[] array; ... array = {object1, object2};
Cette restriction découle de l'exigence selon laquelle les tableaux doivent être déclarés avant de pouvoir être initialisés. Dans le code ci-dessus, la variable array array est déclarée sans spécifier sa taille ni l'initialiser. Par conséquent, Java ne permet pas l'attribution directe de valeurs à l'aide d'accolades.
La motivation des concepteurs Java pour cette restriction est inconnue. Cependant, la règle garantit la cohérence de la syntaxe du langage et évite les ambiguïtés potentielles lors de l'interprétation du code.
Bien que cette restriction puisse parfois introduire du code supplémentaire, elle peut être contournée en utilisant la syntaxe suivante :
AClass[] array; ... array = new AClass[]{object1, object2};
Cette méthode déclare la variable tableau sans initialisation, puis l'initialise plus tard à l'aide du nouveau mot-clé et des accolades.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!