이 글은 기계 번역의 미러 문서이며, 원본 기사로 바로 이동하려면 여기를 클릭해 주세요.

보기: 13709|회답: 0

[출처] 자바에서 클래스 이름을 얻는 3가지 방법!

[링크 복사]
게시됨 2019. 4. 2. 오후 5:24:12 | | |
클래스 이름을 얻는 방법
자바에서 클래스 이름을 얻는 주요 방법은 세 가지가 있습니다:

getName()
반환은 가상 머신에서 클래스 이름으로 표현된 클래스입니다.

getCanonicalName()
반환되는 것은 더 이해하기 쉬운 클래스 이름 표현입니다.

getSimpleName()
Returned는 클래스의 약어입니다.

그 차이가 뭔가요?
주요 차이점을 예를 들어 보겠습니다.

프로그램은 다음과 같은 결과를 출력합니다.

메서드 이름 클래스 이름
getName com.test.TestClass
getCanonicalName com.test.TestClass
getSimpleName TestClass

getName com.test.TestClass$TestInnerClass
getCanonicalName com.test.TestClass.TestInnerClass
getSimpleName TestInnerClass

getName [Lcom.test.TestClass$TestInnerClass;
getCanonicalName com.test.TestClass.TestInnerClass[]
getSimpleName TestInnerClass[]
[lcom.test.TestClass$TestInnerClass; 설명할 가치가 있습니다.

이는 JNI 필드 디스크립터(JavaNative Interface Field Descriptors)라는 함수의 반환값과 매개변수를 인코딩한 것입니다.

[는 배열을 나타내고, 1은 1차원 배열을 나타내며, [[는 2차원 배열을 나타냅니다. L이 클래스 디스크립터를 의미하면, 마지막으로; 클래스 이름의 끝을 나타냅니다.

결론

1. 위 결과에서 getName()과 getCanonicalName()은 일반 클래스 이름을 얻을 때는 다르지 않지만, 내부 클래스와 배열 클래스 획득 사이에는 차이가 있음을 알 수 있습니다.

2. getSimpleName()은 일반 클래스 및 내부 클래스 이름을 얻을 때는 다르지 않지만, 배열 클래스를 얻을 때는 차이가 있습니다.





이전의:Spring boot에서는 JPA 지속 리스너가 추가, 삭제, 수정을 가로챕니다
다음:자바는 Object 속성 타입, 속성 이름, 속성 값을 받습니다
면책 조항:
Code Farmer Network에서 발행하는 모든 소프트웨어, 프로그래밍 자료 또는 기사는 학습 및 연구 목적으로만 사용됩니다; 위 내용은 상업적 또는 불법적인 목적으로 사용되지 않으며, 그렇지 않으면 모든 책임이 사용자에게 부담됩니다. 이 사이트의 정보는 인터넷에서 가져온 것이며, 저작권 분쟁은 이 사이트와는 관련이 없습니다. 위 내용은 다운로드 후 24시간 이내에 컴퓨터에서 완전히 삭제해야 합니다. 프로그램이 마음에 드신다면, 진짜 소프트웨어를 지원하고, 등록을 구매하며, 더 나은 진짜 서비스를 받아주세요. 침해가 있을 경우 이메일로 연락해 주시기 바랍니다.

Mail To:help@itsvse.com