0

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

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

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

4

3 回答 3

1

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

如果您需要一个“变量”的自定义名称,那么类似以下的构造可能是有意义的:

Map<String,Map<String,String>> varMap = new HashMap<String,Map<String,String>>();
varMap.put(objectName+" "+lineNumber, new HashMap<String, String>());
于 2012-10-18T07:00:52.427 回答
0

您不能直接在 Java 中执行此操作(没有主要技巧)

您可以(并且可能应该)做什么:

将您的地图放在另一个以“变量”名称为键的地图中。

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

于 2012-10-18T06:57:49.137 回答
-1

拥有动态对象名称是没有用的。

起初,不可能给引用一个动态名称。更大的问题是你为什么要这样做?

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

但是,如果您正在尝试实现某些项目要求,请。说明要求。将有一些其他的方法来实现这一点。

于 2012-10-18T06:52:43.477 回答