使用字符串派生变量名称动态创建对象
当尝试使用动态生成的名称创建对象时,Java 严格的变量命名规则可能看起来很有限。然而,这种明显的限制实际上是 Java 关注变量引用以及变量名称的重要性相对减弱的结果。
虽然 PHP 等脚本语言允许创建具有字符串派生名称的变量,但 Java 采用了不同的方法。 Java中的变量主要作为对象的引用,其名称意义不大。
解决对象命名要求
在对象需要动态命名的场景中,建议使用Maps或列表。这些容器允许将字符串值映射到对象,从而根据动态标准提供访问和操作对象的灵活性:
Map dogMap = new HashMap();
dogMap.put("Fido", new Dog("Fido"));
Dog myPet = dogMap.get("Fido");
在此示例中,“Fido”字符串用作从dogMap容器访问相应的“Fido”狗对象的键。
或者,可以在 Dog 类本身中实现 name 属性:
class Dog {
private String name;
public Dog(String name) {
this.name = name;
}
public String getName() {
return name;
}
}
这种方法允许每个狗对象都有一个可以检索或修改的 name 属性:
Dog fido = new Dog("Fido");
Dog spot = new Dog("Spot");
System.out.println(fido.getName()); // Outputs "Fido"
总体而言,虽然 Java 不允许创建具有字符串派生名称的变量,但各种替代方法提供了处理动态命名对象的灵活性。
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3