首页  >  文章  >  Java  >  我可以在 Java 中使用字符串值动态创建变量名吗?

我可以在 Java 中使用字符串值动态创建变量名吗?

Patricia Arquette
Patricia Arquette原创
2024-11-03 10:40:29532浏览

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