1
Package
인스턴스와 Class
문자열이 있습니다.패키지 및 클래스 이름 연결하기 (자바 리플렉션)
그들을 결합하는 우아한 방법이 있습니까 (결과적으로 Class.forName()
을 실행할 수 있습니다)?
물론 패키지에서 문자열을 추출하고 클래스 이름과 클래스 이름 사이에 마침표를 추가 할 수는 있지만보다 우아한 방법이 있어야합니다.
Package
인스턴스와 Class
문자열이 있습니다.패키지 및 클래스 이름 연결하기 (자바 리플렉션)
그들을 결합하는 우아한 방법이 있습니까 (결과적으로 Class.forName()
을 실행할 수 있습니다)?
물론 패키지에서 문자열을 추출하고 클래스 이름과 클래스 이름 사이에 마침표를 추가 할 수는 있지만보다 우아한 방법이 있어야합니다.
자신의 패키지 이름과 간단한 클래스 이름에 합류하기 특별한 설비가 없습니다, 당신이 직접해야 할 것 :
Package package = Package.getPackage("java.lang");
String simpleClassName = "String";
Class clazz = Class.forName (package.getName() + "." + simpleClassName);
감사합니다. 그게 내가하고있는 일이다. 그냥 디렉토리와 파일 연결과 비슷한 것이 있어야한다고 생각했다. – Clangon
왜 두을 연결하는 우아한 방법이 아니라고 생각합니까? 문자열 fqcn = packageName + "." + className; 또는 StringBuilder sb = new StringBuilder(); sb.append (packageName); sb.append ("."); sb.append (className); – anacron
@anacron이 제안했듯이, 연결하는 것이 좋은 방법이지만, 다른 것을 원하면 'StringBuilder'를 사용하여 추가하십시오. – Sid
패키지에서 클래스를 가져온 다음 클래스 이름을 사용하거나 패키지를 클래스에 연결하는 일부 함수를 디렉토리와 파일 (경로)과 비슷한 방식으로 사용해야한다고 생각했습니다. – Clangon