首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何在Java中通过方法动态设置对象变量

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

Stack Overflow用户
提问于 2013-03-24 23:54:27
回答 4查看 137关注 0票数 1

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

代码语言:javascript
代码运行次数:0
运行
复制
public void createObj(String objName){
    Obj objName = new Obj();
}

这有可能吗?如果是这样,我如何才能做到这一点呢?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2013-03-24 23:55:55

在Java中,不能使用表达式来命名变量。我认为,您能得到的最接近的方法是填充一个可用于按名称查找Obj实例的Map

代码语言:javascript
代码运行次数:0
运行
复制
public void createObj(String objName, Map<String, Obj> symbolTable){
    symbolTable.put(objName, new Obj());
}
票数 0
EN

Stack Overflow用户

发布于 2013-03-24 23:56:01

不,这不可能。使用不同的名称声明所有局部变量。

定义类及其成员,然后将其编译为字节码,因此不能在运行时动态修改这些字节码。

代码语言:javascript
代码运行次数:0
运行
复制
public void createObj(String objName){
    Obj objectName = new Obj();
}
票数 0
EN

Stack Overflow用户

发布于 2013-03-24 23:56:27

简而言之,不,这是做不到的。您不能在运行时创建命名局部变量。

如果希望将名称与对象相关联,则可以使用Map

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15600611

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档