주석 처리 API에서 Types.isAssignable()
에 문제가 있습니다. 나는 그것이 false
을 반환 typeUtils.isAssignable(someType, objectType)
을 실행하면Types.isAssignable을 올바르게 사용하는 방법은 무엇입니까?
TypeMirror someType; // with some value
TypeMirror objectType = elementUtils.getTypeElement("java.lang.Object").asType();
:이 두 변수가 있습니다.
왜 이런 일이 발생합니까? 모든 유형을 Object
에 지정할 수 있습니다. 내가 오해하니?
참고 :이 트릭과 예상 값을 반환 isAssignable
:이 Class 객체가 나타내는 클래스 또는 인터페이스와 동일하거나 경우
TypeElement typeElement = (TypeElement) typeUtils.asElement(someType);
String qualifiedName = typeElement.getQualifiedName().toString();
TypeMirror copy = elementUtils.getTypeElement(qualifiedName).asType();
typeUtils.isAssignable(copy, objectType); // returns true
이것은'POJO' 클래스가'객체'에 할당 될 수없는 이유를 설명하지 않습니다. –
정답이 없습니다. 'Class.isAssignableFrom()은 본질적으로 하위 유형을 확인합니다. "하위 유형"과 "하위 클래스"는 두 가지 개념입니다. '자세한 내용은 http://stackoverflow.com/questions/1650931/why-object-class-isassignablefromstring-class-true 참조하면 도움이 될 것입니다. – iMBMT