📜  Java中的类 getName() 方法及示例(1)

📅  最后修改于: 2023-12-03 15:02:03.120000             🧑  作者: Mango

Java中的类 getName() 方法及示例

在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()方法获取StringObject类型的数组的限定名称。这将返回[Ljava.lang.String;[Ljava.lang.Object;的字符串,其中[L是表示数组类型的前缀,然后是数组元素的限定名称。