我无法在运行时创建对象的名称。我的发言是:
Map<String,String> objectName+""+lineNumber = new HashMap<String,String>();
它给了我编译时错误。我想在运行时根据行号创建HashMap
对象。
答案 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中执行此操作(没有重大技巧)
你可以(也可能应该)做什么:
将地图放在另一张名为“变量”名称的地图中。
如果你真的想这样做,你必须做代码生成。为此,您还有多种选择:
生成Java源代码并编译
即时生成Java字节代码。您可能希望查看此列表:http://java-source.net/open-source/bytecode-libraries可用的库。
答案 2 :(得分:-1)
拥有动态对象名称是No Use。
首先,无法为引用提供动态名称。更大的问题是你为什么要这样做?
如果,只是为了学习和做实验,我建议你应该遵循适当的练习。
但是,如果你想要达到一些项目要求,请。解释要求。还有其他方法可以实现这一目标。