首頁 >Java >java教程 >我可以在 Java 中使用字串值動態建立變數名稱嗎?

我可以在 Java 中使用字串值動態建立變數名稱嗎?

Patricia Arquette
Patricia Arquette原創
2024-11-03 10:40:29596瀏覽

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

使用字串值建立變數名稱

Q:是否可以使用字串值動態建立變數名稱Java?

例如,給出以下程式碼:

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

如何指示 Java 將「name」解釋為字串並將其指派給新建立的「dog」物件?

答: 雖然 PHP 等一些腳本語言允許這種行為,但 Java 不允許。在 Java 中,變數名稱與變數引用不同,變數引用提供對特定物件的存取。

實現所需功能的一種方法是利用 Map 將字串與物件關聯。例如:

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

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

或者,還有許多其他方法來取得物件的引用,例如陣列、ArrayList、LinkedList 和其他集合。

進一步說明:

如果目標是動態創建一個具有任意名稱的對象,並且該名稱在創建後仍然存在,那麼了解變量名稱與“對象名稱」不同義是很重要的。儘管名稱不同,“fido”和“spot”這兩個變數都將保存對同一物件的參考。

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

要為每個物件指派“名稱”,請考慮將“名稱”屬性新增至類別。

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

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

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

這允許每個 Dog 物件擁有自己唯一的名稱。

以上是我可以在 Java 中使用字串值動態建立變數名稱嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn