java怎么获取类名

avatar
作者
筋斗云
阅读量:0

在Java中,可以通过以下几种方法获取类名:

  1. 使用getClass()方法和getName()方法:
public class MyClass {     public static void main(String[] args) {         MyClass obj = new MyClass();         String className = obj.getClass().getName();         System.out.println("类名: " + className);     } } 
  1. 使用getSimpleName()方法:
public class MyClass {     public static void main(String[] args) {         MyClass obj = new MyClass();         String simpleClassName = obj.getClass().getSimpleName();         System.out.println("简单类名: " + simpleClassName);     } } 
  1. 使用getCanonicalName()方法:
public class MyClass {     public static void main(String[] args) {         MyClass obj = new MyClass();         String canonicalClassName = obj.getClass().getCanonicalName();         System.out.println("规范类名: " + canonicalClassName);     } } 
  1. 使用getTypeName()方法(仅适用于Java 8及更高版本):
import java.lang.reflect.ParameterizedType;  public class MyClass<T> {     public static void main(String[] args) {         MyClass<String> obj = new MyClass<>();         String typeName = ((ParameterizedType) obj.getClass().getGenericSuperclass()).getActualTypeArguments()[0].getTypeName();         System.out.println("类型名称: " + typeName);     } } 

这些方法将返回不同的类名表示形式。getName()方法返回完全限定类名,包括包名;getSimpleName()方法返回不包含包名的类名;getCanonicalName()方法与getName()方法类似,但对于数组类型会返回更友好的表示形式;getTypeName()方法返回泛型类型的名称。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!