String을 기반으로 클래스를 인스턴스화해야 할 경우 (예 : JSON에서 로직 생성) 어떻게 작성해야합니까?Java의 String 클래스 참조를 얻으려면 어떻게해야합니까?
초기 생각은 스위치 였지만 Android 프레임 워크의 Java 버전에서는 switch 문이 문자열을 허용하지 않는 것처럼 보입니다. 이 작동하지 않는
private HashMap<String, Class> classMap = new HashMap<String, Class>();
classMap.put("someClass", SomeClass.class)?
// ... etc
String someString = jsonObject.getString("someProperty");
Class classRef = classMap.get(someString);
SomeSuperClass classInstance = new classRef();
:
다음 생각은 HashMap의했다. 오히려 if/else
의 가능성 목록이 길어질 것입니다. 지도를 사용하여 clazz.newInstance();
자바 없음 버전 문자열 switch 문 수 (자바 7을 제외하고,하지만 모두가 그 조용한 우리를 유지하는 단지 신화 알고있다). – Tharwen