/**
* java的instance是一个二元操作符,
* 作用:判断一个对象是否是一个类的实例,只能用作对象的判断
*/
public class Client {
public static void main(String args[]){
boolean a1="string" instanceof Object;//object类是所有类的父类
boolean a2=new String() instanceof String;//对象是类的实例
boolean a3=new Object() instanceof String;//反了,有继承关系编译可以通过
// boolean a4="A" instanceof Character; 不能通过IDE的编译,
boolean a5=null instanceof String;//只要左边是null直接返回false
boolean a6=(String)null instanceof String;//null是万能类型,转型也没用。
// boolean a7=new Date() instanceof String;不能通过IDE的编译,没用继承关系。
boolean a8=new GenericClass<String>().isDateInstance("");
System.out.println("a1->"+a1);
System.out.println("a2->"+a2);
System.out.println("a3->"+a3);
System.out.println("a5->"+a5);
System.out.println("a6->"+a6);
System.out.println("a8->"+a8);
}
}
//在编译成字节码的时间T是Object类型
class GenericClass<T>{
public boolean isDateInstance(T t){
return t instanceof Date;
}
}