instanceof用法:
A instanceof B
A通常是一个引用类型的变量,B通常是一个类(也可以是接口),它用于判断A是否是与B同类,或者是其子类、实现类的实例。如果是,则返回true,反之false。
public class Test
{
public static void main(String[] args)
{
Object A = "A";
//返回ture
System.out.println("字符串是否是Object类的实例:"+(A instanceof Object));
//String 是 Object 类的子类,所以返回ture
System.out.println("字符串是否是String类的实例:"+(A instanceof String));
//Math是Object类的子类,所以可以进行instanceof运算,返回false
System.out.println("字符串是否是Math类的实例:"+(A instanceof Math));
//int类既不是Object类,也不是Object的父类,所以下列代码编译无法通过
//System.out.println("字符串是否是int类的实例:"+(A instanceof int));
}
}
instance运算符的作用是:确保能够顺利进行强制类型转换。
public class Test
{
public static void main(String[] args)
{
Object A = "A";
if(A instanceof String)
{
String B = (String)A;
System.out.println("成功转换");
}
}
}
在我们使用(type)运算符之前,最好使用instanceof运算符确保程序不会出现错误。