getName()、getCanonicalName()和getSimpleName()都是用于获取类的名称,但是有所区别,下面举个列子说明一下:
public class Main { public static void main(String[] args) { Supper<String, List<Integer>> supper = new Supper<>(); Class<?> clazz = supper.getClass(); System.out.println("name->" + clazz.getName()); System.out.println("canonicalName->" + clazz.getCanonicalName()); System.out.println("simpleName->" + clazz.getSimpleName()); System.out.println("======================================"); String[][] strings = new String[1][1]; System.out.println("name->" + strings.getClass().getName()); System.out.println("canonicalName->" + strings.getClass().getCanonicalName()); System.out.println("simpleName->" + strings.getClass().getSimpleName()); } private static class Supper<K, V> { private K key; private V value; //省略setter和getter方法 } }深入分析Java反射(一)-核心类库和方法 (5)
内容版权声明:除非注明,否则皆为本站原创文章。