如何在Java中通过方法动态设置对象变量
我正在尝试运行一个方法,该方法接收字符串并使用字符串作为对象的变量创建对象:如何在Java中通过方法动态设置对象变量,java,Java,我正在尝试运行一个方法,该方法接收字符串并使用字符串作为对象的变量创建对象: public void createObj(String objName){ Obj objName = new Obj(); } 这可能吗?如果是这样,我该如何实现呢?在Java中不能使用表达式来命名变量。我认为,最接近的方法是填充一个可用于按名称查找Obj实例的 public void createObj(String objName, Map<String, Obj> symbolTable
public void createObj(String objName){
Obj objName = new Obj();
}
这可能吗?如果是这样,我该如何实现呢?在Java中不能使用表达式来命名变量。我认为,最接近的方法是填充一个可用于按名称查找
Obj
实例的
public void createObj(String objName, Map<String, Obj> symbolTable){
symbolTable.put(objName, new Obj());
}
public void createObj(字符串objName,映射symbolTable){
symbolTable.put(objName,new Obj());
}
不,这是不可能的。声明所有具有不同名称的局部变量
定义一个类及其成员,然后将其编译为字节码,因此不能在运行时动态修改它们
public void createObj(String objName){
Obj objectName = new Obj();
}
简言之,不,这是不可能做到的。无法在运行时创建命名的局部变量
如果要将名称与对象关联,可以使用。不,因为一个简单的原因,您不能这样做。您不能有两个同名的局部变量,因为编译器无法区分。什么?你为什么要这么做?