获取 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);
广告