Q : Est-il possible d'utiliser une valeur de chaîne pour créer dynamiquement un nom de variable dans Java ?
Par exemple, étant donné le code suivant :
<code class="java">String name = "dog"; dog name = new dog();</code>
Comment peut-on demander à Java d'interpréter « nom » comme une chaîne et de l'attribuer à l'objet « chien » nouvellement créé ?
R : Bien que certains langages de script comme PHP autorisent un tel comportement, Java ne le permet pas. En Java, les noms de variables sont distincts des références de variables, qui donnent accès à des objets spécifiques.
Une façon d'obtenir la fonctionnalité souhaitée consiste à utiliser une carte pour associer des chaînes à des objets. Par exemple :
<code class="java">Map<String, Dog> dogMap = new HashMap<>(); dogMap.put("Fido", new Dog("Fido")); Dog myPet = dogMap.get("Fido");</code>
Il existe également de nombreuses autres façons d'obtenir des références à des objets, tels que des tableaux, des ArrayLists, des LinkedLists et d'autres collections.
Clarifications supplémentaires :
Si l'objectif est de créer dynamiquement un objet avec un nom arbitraire qui persiste au-delà de sa création, il est important de comprendre que le nom de la variable n'est pas synonyme du "nom de l'objet". Les deux variables, « fido » et « spot », contiendront des références au même objet, malgré leurs noms différents.
<code class="java">Dog fido = new Dog; Dog spot = fido; // now fido and spot refer to the same object</code>
Pour attribuer un « nom » à chaque objet, pensez à ajouter une propriété « nom » à la classe.
<code class="java">class Dog { private String name; public Dog(String name) { this.name = name; } public String getName() { return name; } }</code>
Cela permet à chaque objet Chien d'avoir son propre nom unique.
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!