Java 如何在运行时创建变量名?
我无法在运行时创建对象的名称。我的声明是:Java 如何在运行时创建变量名?,java,object,Java,Object,我无法在运行时创建对象的名称。我的声明是: Map<String,String> objectName+""+lineNumber = new HashMap<String,String>(); Map objectName+“”+lineNumber=newhashmap(); 它给了我编译时间错误。我想在运行时根据行号创建HashMap对象。拥有动态对象名是没有用的 首先,不可能给引用一个动态名称。更大的问题是你为什么要这么做? 如果只是为了学习和做实验,我建议
Map<String,String> objectName+""+lineNumber = new HashMap<String,String>();
Map objectName+“”+lineNumber=newhashmap();
它给了我编译时间错误。我想在运行时根据行号创建
HashMap
对象。拥有动态对象名是没有用的
首先,不可能给引用一个动态名称。更大的问题是你为什么要这么做?
如果只是为了学习和做实验,我建议你应该做适当的练习
但是,如果你想达到一些项目的要求,请。解释要求。还有其他方法可以实现这一点。您不能直接在Java中实现这一点(没有主要技巧) 您可以(也可能应该)做什么: 将地图放入另一个以“变量”名称为键的地图中 如果你真的想这样做,你必须做代码生成。同样,您有多个选项:
- 生成Java源代码并编译它
- 动态生成Java字节码。你可能想看看这个列表:对于可用的库
- Java不是一种解释语言,而是一种编译语言。因此编译器不知道如何处理这个问题。这样的事情在脚本语言中可能是有意义的
如果您需要一个“变量”的自定义名称,下面这样的构造可能有意义:
Map<String,Map<String,String>> varMap = new HashMap<String,Map<String,String>>();
varMap.put(objectName+" "+lineNumber, new HashMap<String, String>());
Map varMap=newhashmap();
put(objectName+“”+行号,new HashMap());
你是怎么做到的?向我们展示您的代码您可以创建一个数组。我认为你想要达到的目标是不可能的!这是不可能的。你能解释一下你的问题的背景吗?你想通过这样做达到什么目的?此外,对象没有名称。变量有名称。@Jesper:在生成java源代码时可能有,但不知道用户在做什么。@Nandkumar是的,推测很有趣。但是信息是有用的,在这里,它必须来自OP。