首頁  >  文章  >  Java  >  這樣才能實現instanceof關鍵字

這樣才能實現instanceof關鍵字

巴扎黑
巴扎黑原創
2017-07-18 18:28:041325瀏覽
如果用Java的偽代碼來表現Java語言規範所描述的運行時語義,會是這樣:
#
// obj instanceof Tboolean result;if (obj == null) {
  result = false;
} else {  try {
      T temp = (T) obj; // checkcast  result = true;
  } catch (ClassCastException e) {
      result = false;
  }
}

 

用中文說就是:如果有表達式obj instanceof T ,那麼如果obj 不為null 且(T) obj 不拋ClassCastException 例外則該表達式值為true ,否則值為false 。
注意這裡完全沒提到JVM啊Class物件啊啥的,沒有展現出如何從程式碼的角度得到T是一個什麼類型。另外要注意 instanceof 運算子除了執行時期語意外還有部分編譯時限制,詳細參考規格。


instanceof是Java的二元運算符,和==,>,<是同一個類別東東。由於它是由字母組成的,所以也是Java的保留關鍵字。它的作用是測試它左邊的物件是否是它右邊的類別的實例,傳回boolean類型的資料

java 中的instanceof
運算子是用來在執行時間指出物件是否是特定類別的一個實例。 instanceof透過傳回布林值來指出,這個物件是否是這個特定類別或它的子類別的一個實例。

用法:
result = object instanceof class
參數:
Result:布林類型。

Object:必選項。任意物件表達式。
Class:必選項。任意已定義的物件類別。
說明:
如果 object 是 class
的一個實例,則 instanceof 運算子傳回 true。如果 object 不是指定類別的實例,或者 object 是 null,則傳回 false。

以上是這樣才能實現instanceof關鍵字的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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