@Yogi합니다 : 그것은 어떤 경우에 놀라운 결과를 생성합니다. 예를 들어, 패키지 이름의 마지막 부분과 내부 클래스의 부모 클래스를 구별하는 것은 불가능합니다. "java.util.Map.Entry"는 패키지 이름의 일부 또는 "Entry
"에 대한 클래스를 포함하는 이름의 "Map"입니까? "java.util.Map.Entry"대신 "a.b.c.d"(Proguard 처리 코드의 일반적인 경우)이면 어떻게 될까요?
마찬가지로, 기본에서 클래스 (이름이) 패키지는 복잡하고 신뢰할 수없는 것입니다 ... getQualifiedName
파싱 코드와
를 점하기 전에 아무것도 없을 것입니다. 일반적으로 말하자면, Element의 문자열 표현을 사용해야 할 때 당신은 뭔가 잘못하고있는 것입니다.
Element enclosing = element;
while (enclosing.getKind() != ElementKind.PACKAGE) {
enclosing = enclosing.getEnclosingElement();
}
PackageElement packageElement = (PackageElement) enclosing;
이 제대로 얻을 것이다 패키지 의 모든가지 경우 :
이 element
의 패키지를 취득하기위한 적절한 패턴입니다.
감사합니다! 알아 둘만한 – xetra11