如何在运行时创建变量名?

时间:2012-10-18 06:47:02

标签: java object

我无法在运行时创建对象的名称。我的发言是:

Map<String,String>  objectName+""+lineNumber = new HashMap<String,String>();

它给了我编译时错误。我想在运行时根据行号创建HashMap对象。

3 个答案:

答案 0 :(得分:1)

Java不是一种解释而是一种编译语言。所以编译器不知道如何处理这个问题。这样的事情在脚本语言中可能有意义。

如果您需要“变量”的自定义名称,则可能有以下结构:

Map<String,Map<String,String>> varMap = new HashMap<String,Map<String,String>>();
varMap.put(objectName+" "+lineNumber, new HashMap<String, String>());

答案 1 :(得分:0)

您无法直接在Java中执行此操作(没有重大技巧)

你可以(也可能应该)做什么:

将地图放在另一张名为“变量”名称的地图中。

如果你真的想这样做,你必须做代码生成。为此,您还有多种选择:

答案 2 :(得分:-1)

拥有动态对象名称是No Use。

首先,无法为引用提供动态名称。更大的问题是你为什么要这样做?

如果,只是为了学习和做实验,我建议你应该遵循适当的练习。

但是,如果你想要达到一些项目要求,请。解释要求。还有其他方法可以实现这一目标。