我正在尝试运行一个接受字符串的方法,并使用字符串作为对象的变量创建对象:
public void createObj(String objName){
Obj objName = new Obj();
}
这甚至可能吗?如果是这样,我怎么能完成它?
答案 0 :(得分:0)
您不能使用表达式在Java中命名变量。我认为,最接近的是填充Map<String, Obj>
,可用于按名称查找Obj
个实例。
public void createObj(String objName, Map<String, Obj> symbolTable){
symbolTable.put(objName, new Obj());
}
答案 1 :(得分:0)
不可能。声明具有不同名称的所有局部变量。
定义一个类及其成员,然后将其编译为字节代码,因此在运行时无法动态修改它。
public void createObj(String objName){
Obj objectName = new Obj();
}
答案 2 :(得分:0)
简而言之,不,这不可能。您无法在运行时创建命名的局部变量。
如果要将名称与对象关联,可以使用Map<String,Object>
。
答案 3 :(得分:0)
不,你不能这么做是因为一个简单的原因。您不能拥有2个具有相同名称的局部变量,因为编译器无法区分。