获取Java中类的标准名称

Java中合格的类名称包含该类源自的包。与此相反,不合格的类名称仅包含类名称,而没有任何包信息。 

给出了获得类的非限定名称的程序,如下所示:

示例

public class Demo {
   public static void main(String[] argv) throws Exception {
      Class c = java.util.ArrayList.class;
      String className = c.getName();
      System.out.println("The qualified class name is: " + className);
      if (className.lastIndexOf('.') < 0) {
         className = className.substring(className.lastIndexOf('.') + 1);
         className = className.replace('$', '.');
      }
      System.out.println("The unqualified class name is: " + className);
   }
}

输出结果

The qualified class name is: java.util.ArrayList The unqualified class name is: ArrayList

现在让我们了解上面的程序。

首先,使用getName()方法显示合格的类名称。演示这的代码片段如下-

Class c = java.util.ArrayList.class;
String className = c.getName();
System.out.println("The qualified class name is: " + className);

使用substring()从最后一个索引“。”提供className的子字符串的方法获取不合格的类名。然后显示不合格的类名称。演示这的代码片段如下-

if (className.lastIndexOf('.') < 0) {
   className = className.substring(className.lastIndexOf('.') + 1);
   className = className.replace('$', '.');
}
System.out.println("The unqualified class name is: " + className);