摘要:的類,有一個(gè)的方法它的作用是判斷調(diào)用這個(gè)方法或者接口的類或接口與參數(shù)傳入的類或接口是否相同,或者是其父類,例如類似的,類還有一個(gè)的方法它的作用是,傳入的參數(shù)對(duì)象如果為,則直接返回,是否是調(diào)用這個(gè)方法的類或接口的實(shí)例,或是其子類的實(shí)例,例如當(dāng)
Class.isAssignableFrom
Java的Class類,有一個(gè)native的方法: isAssignableFrom
public native boolean isAssignableFrom(Class> cls);
它的作用是判斷調(diào)用這個(gè)方法或者接口的類或接口與參數(shù)傳入的類或接口是否相同,或者是其父類,例如:
Object.class.isAssignableFrom(String.class); // trueClass.isInstance
類似的,Class類還有一個(gè)native的方法: isInstance
public native boolean isInstance(Object obj);
它的作用是,傳入的參數(shù)obj對(duì)象(如果為null,則直接返回false),是否是調(diào)用這個(gè)方法的類或接口的實(shí)例,或是其子類的實(shí)例,例如:
Map map = new HashMap(); Map.class.isInstance(map); // trueinstanceof
當(dāng)然,還有最常用的,關(guān)鍵字instanceof
判斷左邊的對(duì)象(如果為null,則直接返回false),是否是右邊類或接口的實(shí)例,或者子類的實(shí)例
Map map = new HashMap(); map instanceof Map // true總結(jié)
通過對(duì)比可以發(fā)現(xiàn),Class.instance 和 instanceof 的作用其實(shí)是一樣的,是判斷一個(gè)對(duì)象和類或接口的關(guān)系,而Class.isAssignableFrom判斷的是兩個(gè)類或接口之間的關(guān)系
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/71421.html
摘要:接口與類型信息關(guān)鍵字的一種重要目標(biāo)就是允許程序員隔離構(gòu)件,進(jìn)而降低耦合性。如果你編寫接口,那么就可以實(shí)現(xiàn)這一目標(biāo),但是通過類型信息,這種耦合性還是會(huì)傳播出去接口并非是對(duì)解耦的一種無懈可擊的保障。 點(diǎn)擊進(jìn)入我的博客 運(yùn)行時(shí)類型信息使得你可以在運(yùn)行時(shí)發(fā)現(xiàn)和使用類型信息,主要有兩種方式: 傳統(tǒng)的RTTI,它假定我們在編譯時(shí)已經(jīng)知道了所有的類型; 反射機(jī)制,它允許我們在運(yùn)行時(shí)發(fā)現(xiàn)和使用類的...
摘要:相比硬編碼,反射要復(fù)雜的多,但其給我們帶來了更大的靈活性。實(shí)際上構(gòu)造函數(shù)也是類的靜態(tài)方法,因此使用關(guān)鍵字創(chuàng)建類的新對(duì)象也會(huì)被當(dāng)做對(duì)類的靜態(tài)引用,從而觸發(fā)類加載器對(duì)類的加載?;A(chǔ)基礎(chǔ)主要是為反射提供通用特性的接口或基類。 1. Java類型系統(tǒng) 獲取Java類型系統(tǒng),主要有兩個(gè)方式:一種是傳統(tǒng)的RTTI(Run-Time Type Identification),它假定我們在編譯時(shí)已經(jīng)知...
摘要:我們知道一個(gè)方法有一下關(guān)鍵字段組成首先一個(gè)方法必須有描述符,返回值,方法名,參數(shù)類型,參數(shù)構(gòu)成。至此,方法的相關(guān)的注解分析完畢類型的請求,沒有請求體。方法已將在方法里面分析過了,這里面都一樣。拋出一個(gè)畸形的錯(cuò)誤。 簡介 retrofit是square出品的一個(gè)優(yōu)秀的網(wǎng)絡(luò)框架,注意,不是一個(gè)網(wǎng)絡(luò)引擎。它的定位和Volley是一樣的。 它完成了封裝請求,線程切換,數(shù)據(jù)裝換等一系列工作,如果...
以下是Java技術(shù)棧微信公眾號(hào)發(fā)布的關(guān)于 Java 的技術(shù)干貨,從以下幾個(gè)方面匯總。 Java 基礎(chǔ)篇 Java 集合篇 Java 多線程篇 Java JVM篇 Java 進(jìn)階篇 Java 新特性篇 Java 工具篇 Java 書籍篇 Java基礎(chǔ)篇 8張圖帶你輕松溫習(xí) Java 知識(shí) Java父類強(qiáng)制轉(zhuǎn)換子類原則 一張圖搞清楚 Java 異常機(jī)制 通用唯一標(biāo)識(shí)碼UUID的介紹及使用 字符串...
閱讀 1212·2021-09-30 09:47
閱讀 3764·2021-09-06 15:02
閱讀 1775·2021-09-01 10:46
閱讀 2360·2019-08-30 15:52
閱讀 593·2019-08-29 15:28
閱讀 1873·2019-08-29 15:08
閱讀 1149·2019-08-29 13:28
閱讀 2573·2019-08-29 12:19