2014-12-24 3 views
1

Package 인스턴스와 Class 문자열이 있습니다.패키지 및 클래스 이름 연결하기 (자바 리플렉션)

그들을 결합하는 우아한 방법이 있습니까 (결과적으로 Class.forName()을 실행할 수 있습니다)?

물론 패키지에서 문자열을 추출하고 클래스 이름과 클래스 이름 사이에 마침표를 추가 할 수는 있지만보다 우아한 방법이 있어야합니다.

+0

왜 두을 연결하는 우아한 방법이 아니라고 생각합니까? 문자열 fqcn = packageName + "." + className; 또는 StringBuilder sb = new StringBuilder(); sb.append (packageName); sb.append ("."); sb.append (className); – anacron

+0

@anacron이 제안했듯이, 연결하는 것이 좋은 방법이지만, 다른 것을 원하면 'StringBuilder'를 사용하여 추가하십시오. – Sid

+0

패키지에서 클래스를 가져온 다음 클래스 이름을 사용하거나 패키지를 클래스에 연결하는 일부 함수를 디렉토리와 파일 (경로)과 비슷한 방식으로 사용해야한다고 생각했습니다. – Clangon

답변

1

자신의 패키지 이름과 간단한 클래스 이름에 합류하기 특별한 설비가 없습니다, 당신이 직접해야 할 것 :

Package package = Package.getPackage("java.lang"); 
String simpleClassName = "String"; 
Class clazz = Class.forName (package.getName() + "." + simpleClassName); 
+0

감사합니다. 그게 내가하고있는 일이다. 그냥 디렉토리와 파일 연결과 비슷한 것이 있어야한다고 생각했다. – Clangon

관련 문제