java怎么获取类名

1439
2024/9/3 21:32:55
栏目: 编程语言
开发者测试专用服务器限时活动,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()方法返回泛型类型的名称。

辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读: java分页插件pagehelper不生效怎么解决