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