Java對象類型的判斷詳解
instanceof
判斷某個對象是否是某個類的實例或者某個類的子類的實例。它的判斷方式大概是這樣的:
public<T> boolean function(Object obj, Class<T> calzz) { if (obj == null) { return false; } try { T t = (T) obj; return true; } catch (ClassCastException e) { return false; } }
Class.equals()
這種方式比較的類型,一定是本身才返回true,子類或者父類都返回false;
// B是A的子類,C是B的子類 B b = new B(); // false System.out.println(b.getClass().equals(A.class)); // true System.out.println(b.getClass().equals(B.class)); // false System.out.println(b.getClass().equals(C.class));
PS:b.getClass().equals(A.class)等同于b.getClass() == A.class
Class.isInstance()
這個方法跟instanceof完全等價。
// B是A的子類,C是B的子類 B b = new B(); // true System.out.println(A.class.isInstance(b)); // true System.out.println(B.class.isInstance(b)); // false System.out.println(C.class.isInstance(b));
Class.isAssignableFrom
判斷某個類是否是另一個類和其子類。
// B是A的子類,C是B的子類 // false System.out.println(B.class.isAssignableFrom(A.class)); // true System.out.println(B.class.isAssignableFrom(B.class)); // true System.out.println(B.class.isAssignableFrom(C.class));
以上所述是小編給大家介紹的Java對象類型的判斷詳解整合,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關(guān)文章
Kafka消費客戶端協(xié)調(diào)器GroupCoordinator詳解
這篇文章主要為大家介紹了Kafka消費客戶端協(xié)調(diào)器GroupCoordinator使用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-10-10Jackson將json string轉(zhuǎn)為Object,org.json讀取json數(shù)組的實例
下面小編就為大家?guī)硪黄狫ackson將json string轉(zhuǎn)為Object,org.json讀取json數(shù)組的實例,具有很好的參考價值,希望對大家有所幫助2017-12-12MyBatis Mapper.xml入?yún)ist使用in函數(shù)問題
文章主要講述了在使用MyBatis的Mapper.xml文件時,如何正確地在in函數(shù)中使用List作為入?yún)?作者強調(diào)了完整拷貝<if>...</if>格式的重要性,并指出稍微的改動就會導(dǎo)致錯誤2025-02-02關(guān)于Java創(chuàng)建線程的2種方式以及對比
這篇文章主要給大家介紹了關(guān)于Java創(chuàng)建線程的2種方式以及對比的相關(guān)資料,文中通過實例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2022-01-01SpringBoot使用jasypt加解密密碼的實現(xiàn)方法
這篇文章主要介紹了SpringBoot使用jasypt加解密密碼的實現(xiàn)方法,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-10-10springboot定時任務(wù)SchedulingConfigurer異步多線程實現(xiàn)方式
這篇文章主要介紹了springboot定時任務(wù)SchedulingConfigurer異步多線程實現(xiàn)方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-04-04