📅  最后修改于: 2023-12-03 15:02:03.120000             🧑  作者: Mango
在Java中,每个类都有一个简单的名称以及一个唯一的限定名称(类全名)。类的名称可以使用Class.getName()
方法获取。该方法返回一个字符串,该字符串包含类的全限定名称。例如:
public class MyClass {
public static void main(String[] args) {
String name = MyClass.class.getName();
System.out.println(name);
}
}
以上代码将输出以下结果:
com.example.MyClass
在上面的示例中,我们创建了一个名为MyClass
的类,并使用MyClass.class.getName()
方法来获取其限定名称。该方法返回一个字符串,其中包含类的全限定名称com.example.MyClass
。这是因为在该示例中,MyClass
类的包名为com.example
。
注意:在Java中,静态变量的getName()
方法返回的字符串不包括方括号。如果您想获取数组的类型名称,则需要使用Class.getCanonicalName()
方法。
public class ArrayClass {
public static void main(String[] args) {
int[] intArray = new int[5];
String intArrayTypeName = intArray.getClass().getName();
int[][] int2DArray = new int[2][3];
String int2DArrayTypeName = int2DArray.getClass().getName();
String stringArrayType = String[].class.getName();
String objectArrayType = Object[].class.getName();
System.out.println("intArray : " + intArrayTypeName);
System.out.println("int2DArray : " + int2DArrayTypeName);
System.out.println("string[] : " + stringArrayType);
System.out.println("object[] : " + objectArrayType);
}
}
以上示例将输出以下结果:
intArray : [I
int2DArray : [[I
string[] : [Ljava.lang.String;
object[] : [Ljava.lang.Object;
在上面的示例中,我们首先创建了一个int
数组intArray
,然后我们使用intArray.getClass().getName()
方法获取它的限定名称。由于数组类型是基元类型int
,因此返回的字符串将包含前缀[
。
接下来,我们创建了一个int
二维数组int2DArray
,然后使用int2DArray.getClass().getName()
方法获取它的限定名称。由于int2DArray
是二维数组,因此返回的字符串将包含两个前缀[
。
最后,我们使用String[].class.getName()
和Object[].class.getName()
方法获取String
和Object
类型的数组的限定名称。这将返回[Ljava.lang.String;
和[Ljava.lang.Object;
的字符串,其中[L
是表示数组类型的前缀,然后是数组元素的限定名称。