獲取 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);

更新時間: 2020 年 6 月 25 日

516 次瀏覽

啟動你的 職業生涯

透過完成課程獲得認證

開始
廣告