[java] 패키지없이 클래스의 이름을 얻는 방법?

C #에서 우리는이 Type.FullNameType.Name함께 또는 네임 스페이스 (자바 세계에서 패키지)없이 (이 경우 클래스) 형식의 이름을 얻기를위한.

Java는 무엇입니까 Type.Name?

Class.getName()패키지 이름을 수동으로 사용 하고 제거하는 것보다 더 좋은 방법이 있어야합니다 .



답변

Class.getSimpleName()

소스 코드에 제공된 기본 클래스의 단순 이름을 리턴합니다. 기본 클래스가 익명 인 경우 빈 문자열을 반환합니다.

배열의 단순 이름은 “[]”가 추가 된 구성 요소 유형의 단순 이름입니다. 특히 구성 요소 유형이 익명 인 배열의 단순 이름은 “[]”입니다.

실제로 이름에서 패키지 정보를 제거하지만 숨겨져 있습니다.


답변

다음 기능은 JDK 버전 1.5 이상에서 작동합니다.

public String getSimpleName()


답변

StackTraceElement를 사용하는 경우 다음을 사용하십시오.

String fullClassName = stackTraceElement.getClassName();
String simpleClassName = fullClassName.substring(fullClassName.lastIndexOf('.') + 1);

System.out.println(simpleClassName);


답변