Class
對象所表示的類或接口與指定的 Class
參數cls所表示的類或接口是否相同,或是否是其超類或(超)接口,如果是則返回
true
,否則返回 false。
2,instanceof 是用來判斷一個對象實例是否是一個類或接口或其子類子接口的實例。 格式是: oo instanceof TypeName
interImpl instanceof inter
第一個參數是對象實例名,第二個參數是具體的類名或接口名,例如 String,InputStream。
下面是上面二者的例子:
import java.util.Collection;
import java.util.HashSet;
import java.util.Hashtable;
import java.util.Properties;
import java.util.Set;
public class TestClass {
/**
* @param args
*/
public static void main(String[] args) {
// 測試isAssignableFrom
System.out.println(String.class.isAssignableFrom(Object.class));
System.out.println(Comparable.class.isAssignableFrom(String.class));
System.out.println(Set.class.isAssignableFrom(Collection.class));
System.out.println(Collection.class.isAssignableFrom(Set.class));
System.out.println(Set.class.isAssignableFrom(HashSet.class));
//測試instanceof
System.out.println("===============================================");
Comparable com = new String();
System.out.println(com instanceof String);
Hashtable table = new Hashtable();
System.out.println(table instanceof Properties);
}
}
結果:
false
true
false
true
true
===============================================
true
false