开发者

How to get the name of a class without the package?

开发者 https://www.devze.com 2022-12-27 23:52 出处:网络
In C# we have Type.FullName and Type.Name for getting the name of a type (class in this case) with or without the namespace (package in java-world).

In C# we have Type.FullName and Type.Name for getting the name of a type (class in this case) with or without the namespace (package in java-world).

What is the java equivalent to Type.Name?

Clearly there must be a better way than using Class.getName() and strip it of the package name manual开发者_运维技巧ly.


Class.getSimpleName()

Returns the simple name of the underlying class as given in the source code. Returns an empty string if the underlying class is anonymous.

The simple name of an array is the simple name of the component type with "[]" appended. In particular the simple name of an array whose component type is anonymous is "[]".

It is actually stripping the package information from the name, but this is hidden from you.


If using a StackTraceElement, use:

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

System.out.println(simpleClassName);
0

精彩评论

暂无评论...
验证码 换一张
取 消