如何通过Java中的方法动态设置对象变量

时间:2013-03-24 15:54:27

标签: java

我正在尝试运行一个接受字符串的方法,并使用字符串作为对象的变量创建对象:

public void createObj(String objName){
    Obj objName = new Obj();
}

这甚至可能吗?如果是这样,我怎么能完成它?

4 个答案:

答案 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个具有相同名称的局部变量,因为编译器无法区分。