📅  最后修改于: 2023-12-03 14:42:15.756000             🧑  作者: Mango
在Java语言中,有多种方式可以打印对象的类型。本文将为您介绍常用的几种打印方法。
Java中所有的对象都继承自Object类,而Object类中包含一个getClass()方法,该方法可以返回对象的Class对象。因此,可以使用如下代码打印对象的类型:
Object obj = new Object();
System.out.println(obj.getClass());
输出结果为:
class java.lang.Object
instanceof是Java中的一个关键字,用于检查一个对象是否是某个类的实例。因此,可以使用如下代码打印对象的类型:
Object obj = new Object();
if (obj instanceof Object) {
System.out.println("Object");
}
输出结果为:
Object
从Java 8开始,Class类中新增了一个getTypeName()方法,该方法可以返回一个类或接口的全限定名,包括泛型参数信息。因此,可以使用如下代码打印对象的类型:
Object obj = new ArrayList<String>();
System.out.println(obj.getClass().getTypeName());
输出结果为:
java.util.ArrayList<java.lang.String>
Class类中还有一个getSimpleName()方法,可以返回一个类或接口的简单名称,即不包括包名和泛型参数信息。因此,可以使用如下代码打印对象的类型:
Object obj = new ArrayList<String>();
System.out.println(obj.getClass().getSimpleName());
输出结果为:
ArrayList
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()方法则可以用于获取一个类或接口定义中声明的类型参数信息。请选择适合自己需求的方式来打印对象的类型。