如何使用串行命名动态创建类对象?

时间:2014-06-22 13:59:34

标签: java object dynamicobject

假设我接受一个整数用户输入 - 17.现在我想创建17个“Node”类对象。它们的名称将类似于node1,node2,...,node17。

如何实现?

1 个答案:

答案 0 :(得分:3)

唐'吨。你问的是一个坏主意。

您可以做的是将多个新对象添加到数组或集合中 如果您不关心姓名,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;
}