您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關java判斷對象是什么數據類型的方法,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
1、instanceof 運算符是用來在運行時指出對象是否是特定類的一個實例。instanceof通過返回一個布爾值來指出,這個對象是否是這個特定類或者是它的子類的一個實例。
用法:
result = object instanceof class
參數:
result:必選項。任意變量。
object:必選項。任意對象表達式。
class:必選項。任意已定義的對象類。
說明:
如果 object 是 class 的一個實例,則 instanceof 運算符返回 true。如果 object 不是指定類的一個實例,或者 object 是 null,則返回 false。
例如:
Boolean b; String str = "foo"; b = ( str instanceof String ); // true b = ( str instanceof Object ); // also true b = ( str instanceof Date ); // false, not a Date or subclass
注意:
1)null值不是任何對象的實例,所以下面這個例子返回了false,無論這個變量聲明的是什么類型。
String s = null; if ( s instanceof String ) // false, won't happen
2)instanceof也可以正確的報告一個對象是否是數組和特定的接口類型。
if ( foo instanceof byte[] )
2、使用getClass判斷
我們知道在Java中一切都是對象,我們一般所使用的對象都直接或間接繼承自Object類。Object類中包含一個方法名叫getClass,利用這個方法就可以獲得一個實例的類型類。
在獲得類型類之后,你就可以調用其中的一些方法獲得類型的信息了,主要的方法有:
getName():String:獲得該類型的全稱名稱。
getSuperClass():Class:獲得該類型的直接父類,如果該類型沒有直接父類,那么返回null。
getInterfaces():Class[]:獲得該類型實現的所有接口。
isArray():boolean:判斷該類型是否是數組。
isEnum():boolean:判斷該類型是否是枚舉類型。
isInterface():boolean:判斷該類型是否是接口。
isPrimitive():boolean:判斷該類型是否是基本類型,即是否是int,boolean,double等等。
isAssignableFrom(Class cls):boolean:判斷這個類型是否是類型cls的父(祖先)類或父(祖先)接口。
getComponentType():Class:如果該類型是一個數組,那么返回該數組的組件類型。
關于java判斷對象是什么數據類型的方法就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。