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