一键搞定内网穿透 联行号查询|开户行查询 在线工具箱 藏经阁
当前位置:首页 / 杂记 / 正文
java判断对象属于哪个类型/根据实现类找到类名、父类、接口类
Map map = new HashMap();

//使用instanceof时,不能精确区分出父类和接口类和实现类,当前类、父类、接口类 均返回 true
System.out.println(map instanceof HashMap); //true
System.out.println(map instanceof AbstractMap); //true,HashMap继承自 AbstractMap
System.out.println(map instanceof Map); //true, AbstractMap实现的Map接口,HashMap extends AbstractMap implements Map

System.out.println(AbstractMap.class.isInstance(map)); //true
System.out.println(HashMap.class.isInstance(map)); //true
System.out.println(Map.class.isInstance(map)); //true

//使用getClass()可以查找到实例属于哪个实现类、接口类、父类
System.out.println(map.getClass().equals(Map.class)); //false
System.out.println(map.getClass().equals(HashMap.class)); //true,精确指到是HashMap类

//输出类名
System.out.println(map.getClass().getSimpleName()); //HashMap
System.out.println(map.getClass().getName()); //java.util.HashMap