获取 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 次浏览

启动你的 职业生涯

通过完成课程获得认证

开始
广告