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中文網其他相關文章!