📜  java print type of object - Java (1)

📅  最后修改于: 2023-12-03 14:42:15.756000             🧑  作者: Mango

Java中对象类型的打印方法

在Java语言中,有多种方式可以打印对象的类型。本文将为您介绍常用的几种打印方法。

1. 使用getClass()方法

Java中所有的对象都继承自Object类,而Object类中包含一个getClass()方法,该方法可以返回对象的Class对象。因此,可以使用如下代码打印对象的类型:

Object obj = new Object();
System.out.println(obj.getClass());

输出结果为:

class java.lang.Object
2. 使用instanceof关键字

instanceof是Java中的一个关键字,用于检查一个对象是否是某个类的实例。因此,可以使用如下代码打印对象的类型:

Object obj = new Object();
if (obj instanceof Object) {
    System.out.println("Object");
}

输出结果为:

Object
3. 使用getTypeName()方法

从Java 8开始,Class类中新增了一个getTypeName()方法,该方法可以返回一个类或接口的全限定名,包括泛型参数信息。因此,可以使用如下代码打印对象的类型:

Object obj = new ArrayList<String>();
System.out.println(obj.getClass().getTypeName());

输出结果为:

java.util.ArrayList<java.lang.String>
4. 使用getSimpleName()方法

Class类中还有一个getSimpleName()方法,可以返回一个类或接口的简单名称,即不包括包名和泛型参数信息。因此,可以使用如下代码打印对象的类型:

Object obj = new ArrayList<String>();
System.out.println(obj.getClass().getSimpleName());

输出结果为:

ArrayList
5. 使用getTypeParameters()方法

getTypeParameters()方法可以返回一个类或接口定义中声明的类型参数(泛型参数)信息,例如:

ArrayList<String> list = new ArrayList<String>();
TypeVariable[] typeParams = list.getClass().getTypeParameters();
System.out.println(Arrays.toString(typeParams));

输出结果为:

[E]
总结

以上就是Java中对象类型的打印方法。其中,getClass()方法和instanceof关键字是最常用的方法,而getTypeName()方法和getSimpleName()方法则较为新颖,可以用于打印更加详细或者简洁的类型信息。getTypeParameters()方法则可以用于获取一个类或接口定义中声明的类型参数信息。请选择适合自己需求的方式来打印对象的类型。