Maison >Java >javaDidacticiel >Pourquoi ne puis-je pas initialiser directement les tableaux Java en dehors des déclarations ?

Pourquoi ne puis-je pas initialiser directement les tableaux Java en dehors des déclarations ?

Linda Hamilton
Linda Hamiltonoriginal
2024-12-12 19:56:11325parcourir

Why Can't I Directly Initialize Java Arrays Outside of Declarations?

Comprendre la syntaxe d'initialisation de tableau en dehors des déclarations

En Java, l'initialisation de tableau peut être assez simple, en particulier lorsqu'elle est utilisée dans des déclarations. Cependant, lorsque vous tentez d'initialiser un tableau en dehors d'une déclaration, des limitations de syntaxe spécifiques apparaissent, comme le démontrent les scénarios suivants :

AClass[] array = {object1, object2}; // Valid
AClass[] array = new AClass[2];
...
array[0] = object1;
array[1] = object2; // Also valid

Cependant, lors de l'utilisation de la syntaxe suivante en dehors d'une déclaration :

AClass[] array;
...
array = {object1, object2};

Un message d'erreur apparaîtra, indiquant que cette initialisation n'est pas autorisée. Pourquoi Java est-il si strict à ce sujet ?

La raison est quelque peu arbitraire, car les concepteurs Java peuvent avoir eu des justifications grammaticales ou historiques spécifiques pour cette restriction. Il n'est pas toujours clair pourquoi des règles de syntaxe spécifiques existent, mais il est essentiel de les respecter pour une exécution réussie du code.

Bien que cela puisse parfois être gênant, il existe des solutions de contournement pour initialiser des tableaux en dehors des déclarations. Par exemple, la syntaxe suivante fonctionnera :

AClass[] array;
...
array = new AClass[]{object1, object2};

Ainsi, même si Java peut imposer certaines contraintes sur l'initialisation des tableaux en dehors des déclarations, il fournit des méthodes alternatives pour obtenir le résultat souhaité.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn