isAssignableFrom和isInstance、instanceof
生活随笔
收集整理的這篇文章主要介紹了
isAssignableFrom和isInstance、instanceof
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Class.isAssignableFrom
Java的Class類,有一個native的方法: isAssignableFrom
public native boolean isAssignableFrom(Class<?> cls);它的作用是判斷調用這個方法或者接口的類或接口與參數傳入的類或接口是否相同,或者是其父類,例如:
Object.class.isAssignableFrom(String.class); // trueClass.isInstance
類似的,Class類還有一個native的方法: isInstance
public native boolean isInstance(Object obj);它的作用是,傳入的參數obj對象(如果為null,則直接返回false),是否是調用這個方法的類或接口的實例,或是其子類的實例,例如:
Map map = new HashMap(); Map.class.isInstance(map); // trueinstanceof
當然,還有最常用的,關鍵字instanceof
判斷左邊的對象(如果為null,則直接返回false),是否是右邊類或接口的實例,或者子類的實例
總結
通過對比可以發現,Class.instance 和 instanceof 的作用其實是一樣的,是判斷一個對象和類或接口的關系,而Class.isAssignableFrom判斷的是兩個類或接口之間的關系
總結
以上是生活随笔為你收集整理的isAssignableFrom和isInstance、instanceof的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android stutdio2.2 启
- 下一篇: PHP之高性能I/O框架:Libeven