实现instanceof关键字
生活随笔
收集整理的這篇文章主要介紹了
实现instanceof关键字
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
如果用Java的偽代碼來(lái)表現(xiàn)Java語(yǔ)言規(guī)范所描述的運(yùn)行時(shí)語(yǔ)義,會(huì)是這樣:
// obj instanceof T boolean result; if (obj == null) {result = false; } else {try {T temp = (T) obj; // checkcastresult = true;} catch (ClassCastException e) {result = false;} }
注意這里完全沒(méi)提到JVM啊Class對(duì)象啊啥的,沒(méi)有展現(xiàn)出如何從代碼的角度獲得T是一個(gè)什么類型。另外要注意 instanceof 運(yùn)算符除了運(yùn)行時(shí)語(yǔ)義外還有部分編譯時(shí)限制,詳細(xì)參考規(guī)范。
// obj instanceof T boolean result; if (obj == null) {result = false; } else {try {T temp = (T) obj; // checkcastresult = true;} catch (ClassCastException e) {result = false;} }
?
用中文說(shuō)就是:如果有表達(dá)式 obj instanceof T ,那么如果 obj 不為 null 并且 (T) obj 不拋 ClassCastException 異常則該表達(dá)式值為 true ,否則值為 false 。注意這里完全沒(méi)提到JVM啊Class對(duì)象啊啥的,沒(méi)有展現(xiàn)出如何從代碼的角度獲得T是一個(gè)什么類型。另外要注意 instanceof 運(yùn)算符除了運(yùn)行時(shí)語(yǔ)義外還有部分編譯時(shí)限制,詳細(xì)參考規(guī)范。
詳細(xì)部分可參見:
作者:RednaxelaFX
鏈接:https://www.zhihu.com/question/21574535/answer/18998914
轉(zhuǎn)載于:https://www.cnblogs.com/Ycheng/p/7168995.html
總結(jié)
以上是生活随笔為你收集整理的实现instanceof关键字的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: IDEA Spring框架入门实例
- 下一篇: js 根据所输内容生成助记码