0
정수 사용자 입력 - 17을 가정 해 봅시다. 이제 17 개의 노드 클래스 개체를 만들고 싶습니다. 그리고 그것들은 node1, node2, ..., node17과 같이 명명됩니다.직렬 이름을 사용하여 클래스 개체를 동적으로 만드는 방법은 무엇입니까?
어떻게 달성할까요?
정수 사용자 입력 - 17을 가정 해 봅시다. 이제 17 개의 노드 클래스 개체를 만들고 싶습니다. 그리고 그것들은 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;
}
왜이 작업을 수행 할 수? – kaetzacoatl
오브젝트에는 이름 속성이없는 한 이름이 없습니다. 루프를 사용하여 원하는 이름을 가진 노드 인스턴스 17 개를 만들고 목록 또는 Node [] 배열에 저장합니다. –
@JBNizet은 참조 이름이 node1, node2, ...와 같은 객체를 생성하려고합니다. – Nullpointer