java - 使用变量名称创建类的新实例

标签 java

所以我是编程新手,并且在类(class)方面遇到一些问题。我正在使用下一 block 砖的镜头。库中有一个名为 Node 的类。它需要 X 和 Y。就像这样:

节点nodeNameOne = new Node(2,3);

我想做的事:

我有一个 12 x 12 数组。对于数组中的每个位置,我想获取它的 X 和 Y 并创建一个新节点。问题是我想自动更改“nodeNameOne”。

我的解决方案是创建一个 intiger 变量并递增它,然后执行一个 .to 字符串并将其用作节点名称,当我使用 intiger 变量名称时,它使用变量的名称而不是变量中的值。

我看过其他需要使用“Class.newInstance”的帖子,但我无法让它工作。

感谢任何帮助。 谢谢

更新:

我有一个 12 x 12 数组。我将扫描数组,当我在数组的任何位置检测到 0 时,我想使用数组位置的 X 和 Y 创建一个新节点。

因为它是一个 12 x 12 数组,所以有 144 个可能出现 0 的位置。 因此,创建新的 is 节点所需的代码是: 节点节点名 = new Node(x,y);

我想自动化实例名称:“nodeName”以使用字符串变量,我将从以下位置获取该变量:

int nameOfNode= 0;
String temp = Integer.toString(nameOfNode);
Node temp = new Node(x,y);
nameOfNode++;

我得到的错误是它说 temp 已被使用,但我知道这一点。我希望它使用 temp 的值而不是名称“temp”。 - 我希望这更清楚。

最佳答案

你想要的可能是一个数组。二维数组是 (i,j) --> Node[i][j]:

的映射
// Step 1 and 2: Create and add nodes
Node nodes[12][12];
for (int i = 0; i < 12; i++) {
    for (int j = 0; j < 12; j++) {
        nodes[i][j] = new Node(i, j);
        mesh.add(nodes[i][j], 0);
    }
}

然后您可以使用数字(或整数变量)引用节点:

// Step 3: Connect nodes:
mesh.connect(nodes[2][3], nodes[2][4]);
mesh.connect(nodes[2][3], nodes[3][3]);
mesh.connect(nodes[2][4], nodes[2][5]);
...

关于java - 使用变量名称创建类的新实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40974176/

相关文章:

java - 在 js/php 范围内,什么是更好的选择/目标概念

java - Recyclerview 中已经设置了 OnFlingListener 的一个实例

java - Runtime.exec 不执行任何操作...(没有错误)

java - JRebel 是否与嵌入式应用程序服务器一起工作? (智能)

java - JPA 2 : How to use Map<String , Employee> 实体之间的 OneToMany 关系

java - 如何在struts属性字符串中插入java表达式

java - 如何在 Freemarker 中仅从字符串中获取字母?

java - 如何使用整理器按属性排序? ( java )

java - 无法将 JSON 反序列化为 POJO(使用 Jackson)

java - ORA-00905 : missing keyword error in executing from servlet