String s=new String("javaisland");
System.out.println(s instanceof String); //true
二、A.class.isInstance(a)=======a是否是A的实例
String s=new String("javaisland");
System.out.println(String.class.isInstance(s)); //true
三、这个是比较class文件的
ArrayList.class.isAssignableFrom(Object.class); //false
Object.class.isAssignableFrom(ArrayList.class); //true
interface IA{ public void a(); } interface IB extends IA{ public void b(); } class A implements IA{ public void a(){ System.out.println("a"); } /** *判断几个class文件之间是否有extends 和implements的关系 *A.class.isAssignableFrom(B.class) *A是否是B的父类,或接口;AB是否是同一个类或接口 *这几个都是true */ public static void main(String args[]){ //类和接口 System.out.println(IA.class.isAssignableFrom(A.class)); System.out.println(IA.class.isAssignableFrom(B.class)); //类和类 System.out.println(A.class.isAssignableFrom(B.class)); //接口和接口 System.out.println(IA.class.isAssignableFrom(IB.class)); } } class B extends A{ }
结果
E:\test>javac sic.java
E:\test>java A
true
true
true
true
E:\test>