Java中isAssignableFrom的用法詳解
class1.isAssignableFrom(class2) 判定此 Class 對(duì)象所表示的類或接口與指定的 Class 參數(shù)所表示的類或接口是否相同,或是否是其超類或超接口。如果是則返回 true;否則返回 false。如果該 Class 表示一個(gè)基本類型,且指定的 Class 參數(shù)正是該 Class 對(duì)象,則該方法返回 true;否則返回 false。
1. class2是不是class1的子類或者子接口
2. Object是所有類的父類
一個(gè)例子搞定:
package com.auuzee.test1;
class A {
}
class B extends A {
}
public class Test1 {
public static void main(String[] args) {
A a = new A();
B b = new B();
A ba = new B();
System.out.println("1-------------");
System.out.println(A.class.isAssignableFrom(a.getClass()));
System.out.println(B.class.isAssignableFrom(b.getClass()));
System.out.println(A.class.isAssignableFrom(b.getClass()));
System.out.println(B.class.isAssignableFrom(a.getClass()));
System.out.println(A.class.isAssignableFrom(ba.getClass()));
System.out.println(B.class.isAssignableFrom(ba.getClass()));
System.out.println("2-------------");
System.out.println(a.getClass().isAssignableFrom(A.class));
System.out.println(b.getClass().isAssignableFrom(B.class));
System.out.println(a.getClass().isAssignableFrom(B.class));
System.out.println(b.getClass().isAssignableFrom(A.class));
System.out.println(ba.getClass().isAssignableFrom(A.class));
System.out.println(ba.getClass().isAssignableFrom(B.class));
System.out.println("3-------------");
System.out.println(Object.class.isAssignableFrom(b.getClass()));
System.out.println(Object.class.isAssignableFrom("abc".getClass()));
System.out.println("4-------------");
System.out.println("a".getClass().isAssignableFrom(Object.class));
System.out.println("abc".getClass().isAssignableFrom(Object.class));
}
}

以上這篇Java中isAssignableFrom的用法詳解就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
SpringBoot整合Mybatis Plus多數(shù)據(jù)源的實(shí)現(xiàn)示例
本文主要介紹了SpringBoot整合Mybatis Plus多數(shù)據(jù)源的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-11-11
Java利用poi讀取Excel詳解實(shí)現(xiàn)
Apache POI 是用Java編寫的免費(fèi)開源的跨平臺(tái)的 Java API,Apache POI提供API給Java對(duì)Microsoft Office格式檔案讀和寫的功能。POI為“Poor Obfuscation Implementation”的首字母縮寫,意為簡(jiǎn)潔版的模糊實(shí)現(xiàn)2022-07-07
Java線程和操作系統(tǒng)線程的關(guān)系解讀
這篇文章主要介紹了Java線程和操作系統(tǒng)線程的關(guān)系解讀,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-06-06
Java實(shí)現(xiàn)STL中的全排列函數(shù)next_permutation()
在算法競(jìng)賽中,全排列問題是一個(gè)經(jīng)典且常見的題目,傳統(tǒng)的遞歸方法在處理較大的n時(shí)會(huì)遇到堆棧內(nèi)存限制的問題,本文介紹了一種避免遞歸,使用next_permutation函數(shù)實(shí)現(xiàn)全排列的方法,感興趣的朋友跟隨小編一起看看吧2024-09-09
SpringBoot項(xiàng)目War包部署無法注冊(cè)到Nacos中的解決
這篇文章主要介紹了SpringBoot項(xiàng)目War包部署無法注冊(cè)到Nacos中的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-01-01
解決HttpPost+json請(qǐng)求---服務(wù)器中文亂碼及其他問題
這篇文章主要介紹了解決HttpPost+json請(qǐng)求---服務(wù)器中文亂碼及其他問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2021-01-01

