Heim  >  Artikel  >  Java  >  Kann ich Variablennamen in Java mithilfe eines Zeichenfolgenwerts dynamisch erstellen?

Kann ich Variablennamen in Java mithilfe eines Zeichenfolgenwerts dynamisch erstellen?

Patricia Arquette
Patricia ArquetteOriginal
2024-11-03 10:40:29532Durchsuche

Can I Dynamically Create Variable Names in Java Using a String Value?

Verwenden eines String-Werts zum Erstellen eines Variablennamens

F: Ist es möglich, einen String-Wert zum dynamischen Erstellen eines Variablennamens zu verwenden? Java?

Zum Beispiel mit dem folgenden Code:

<code class="java">String name = "dog";
dog name = new dog();</code>

Wie kann man Java anweisen, „Name“ als String zu interpretieren und ihn dem neu erstellten „Hund“-Objekt zuzuweisen?

A: Während einige Skriptsprachen wie PHP ein solches Verhalten zulassen, ist dies bei Java nicht der Fall. In Java unterscheiden sich Variablennamen von Variablenreferenzen, die Zugriff auf bestimmte Objekte ermöglichen.

Eine Möglichkeit, die gewünschte Funktionalität zu erreichen, besteht darin, eine Map zu verwenden, um Strings mit Objekten zu verknüpfen. Zum Beispiel:

<code class="java">Map<String, Dog> dogMap = new HashMap<>();
dogMap.put("Fido", new Dog("Fido"));

Dog myPet = dogMap.get("Fido");</code>

Alternativ gibt es zahlreiche andere Möglichkeiten, Referenzen auf Objekte zu erhalten, wie Arrays, ArrayLists, LinkedLists und andere Sammlungen.

Weitere Erläuterung:

Wenn das Ziel darin besteht, dynamisch ein Objekt mit einem beliebigen Namen zu erstellen, der über seine Erstellung hinaus bestehen bleibt, ist es wichtig zu verstehen, dass der Variablenname nicht gleichbedeutend mit dem „Objektnamen“ ist. Beide Variablen, „fido“ und „spot“, enthalten trotz ihrer unterschiedlichen Namen Verweise auf dasselbe Objekt.

<code class="java">Dog fido = new Dog;
Dog spot = fido; // now fido and spot refer to the same object</code>

Um jedem Objekt einen „Namen“ zuzuweisen, sollten Sie das Hinzufügen einer „Name“-Eigenschaft in Betracht ziehen zur Klasse hinzufügen.

<code class="java">class Dog {
   private String name;

   public Dog(String name) {
      this.name = name;
   }

   public String getName() {
      return name;
   }
}</code>

Dadurch kann jedes Hundeobjekt seinen eigenen eindeutigen Namen haben.

Das obige ist der detaillierte Inhalt vonKann ich Variablennamen in Java mithilfe eines Zeichenfolgenwerts dynamisch erstellen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn