这里写自定义目录标题
它们都是用来判断对象的类型的,但是当需要动态地判断对象的类型时instanceof就无能为力了,而isInstance()方法却能发挥作用;
instanceof isInstance()方法
instanceof是Java中的操作符,其作用是该操作符判断左边的对象是否是它右边类的实例,返回值boolean类型
isInstance()是Class类的一个方法
public boolean isInstance(Object obj)
该方法的作用是在run time判断指定的obj对象是否是当前Class实例所代表的类的实例。
//instanceof示例程序
public class Test {
public static void main(String[] args) {
Double dValue = new Double(9.2);
System.out.println(dValue instanceof Double);
}
}
//在run time检查是否是指定类的对象,需要使用isInstance()方法
public class Test {
public static void main(String[] args) throws ClassNotFoundException {
System.out.println(checkType(new Integer(1), "java.lang.Integer"));
System.out.println(checkType(new Integer(1), "java.lang.String"));
}
public static boolean checkType(Object obj, String className) throws ClassNotFoundException {
return Class.forName(className).isInstance(obj);
}
}