java - 如何动态创建串行命名的类对象?

标签 java object dynamicobject

假设我接受一个整数用户输入 - 17。现在我想创建 17 个“Node”类对象。它们的命名方式如下:node1、node2、...、node17。

如何实现这一目标?

最佳答案

不要。你问的是一个坏主意。

您可以做的是将多个新对象添加到数组或集合中。
如果你不关心名字 ArrayList<Node>会完成这项工作。
如果您确实需要名称,请将它们键入 HashMap<String, Node>或类似的。

public List<Node> makeThisManyNodes(int count) {
    List<Node> nodes = new ArrayList<Node>();
    for (int i=0; i<count; i++) {
        nodes.add(new Node());
    }
    return nodes;
}
<小时/>
static final String NODE_BASE_NAME = "node_%d";

public Map<String, Node> makeThisManyNodes(int count) {
    Map<String, Node> nodes = new HashMap<String, Node>();
    String key;
    for (int i=0; i<count; i++) {
        key = String.format(NODE_BASE_NAME, i);
        nodes.put(key, new Node());
    }
    return nodes;
}

关于java - 如何动态创建串行命名的类对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24351982/

相关文章:

java - 文件生成和文件内容验证的自动测试

java - 无法解析类型 android.content.Context。它是从所需的 .class 文件中间接引用的

javascript - 动态分层 Javascript 对象循环

java - 没有 java.lang.Object 作为父类(super class)的类

c# - DateTime[] 和 Object[] 问题

python - DLR 与性能

java - Http Post - 通信失败 - 为什么?

java - 打印彩色页眉和页脚?

database - 将大量(10000+)种不同对象类型存储到数据库中的最佳实践是哪种?