에서 객체의 배열을 작성, 질문에 1268817후속 : 클래스 명
을, 우리는 문자열의 (a 이름 주어진 개체의 isntance을 만들 수있는 방법을 찾아야).
하지만 이러한 객체의 배열을 만드는 방법 ... 초기화하는 방법은 무엇입니까?
나는의 라인에 뭔가 생각하지만, 10 개 요소의 배열을 위해
Object[] xyz = Class.forName(className).newInstance()[];
에서 객체의 배열을 작성, 질문에 1268817후속 : 클래스 명
을, 우리는 문자열의 (a 이름 주어진 개체의 isntance을 만들 수있는 방법을 찾아야).
하지만 이러한 객체의 배열을 만드는 방법 ... 초기화하는 방법은 무엇입니까?
나는의 라인에 뭔가 생각하지만, 10 개 요소의 배열을 위해
Object[] xyz = Class.forName(className).newInstance()[];
Object objects = java.lang.reflect.Array.newInstance(Class.forName(classname), 10);
를 작동 나던 것 같습니다했다.
annoyingly 그것은 개체 배열 대신 개체를 반환합니다. 반환 형식은 객체이어야하므로
Object objects = java.lang.reflect.Array.newInstance(int.class, 10);
가능한 int는 [], 개체 []에 할당 할 수없는 : 톰이 지적 하듯이
이 허용하는 것입니다. 그러나 당신이 이것을 거의하고 싶지 않기 때문에 여전히 성가시다.
거기에 캐스트가 있어야합니다. –
시도 : 여기
Class<?> c = Class.forName(className);
Object xyz = Array.newInstance(c, length);
은 문자열의 배열을 만드는 예입니다
완전히 질문 외부// equiv to String strArray = new String()[10]
Class cls = Class.forName("java.lang.String");
String[] strArray = (String[]) Array.newInstance(cls, 10);
-> "후속"- SO에 좋은 기능이 될 것입니다 - - 후속 질문 및/또는 답변과 함께 질문을 연결하고 또한 물어보고 응답 한 이전 사람들이 후속 조치가 시작되었음을 알리십시오 ... – bushman
@bushman, checkout meta.stackoverflow.com, 어디에서 그러한 제안을 게시하고 토론 할 수 있습니다. – Yishai