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中文網其他相關文章!