首頁 >Java >Java基礎 >java判斷物件是否為string類型

java判斷物件是否為string類型

尚
原創
2019-11-22 15:41:4710066瀏覽

java判斷物件是否為string類型

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知識請關注java基礎教學

以上是java判斷物件是否為string類型的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn