你真的了解Java中的Instanceof嗎?

2021-08-13 05:43:41 字數 1154 閱讀 3889

**

instanceof 是乙個簡單的二元操作符, 它是用來判斷乙個物件是否是乙個類例項的

boolean b1 = "sting" instanceof object;

b1為true因為string是object的子類

boolean b2 = new string() instanceof string;

b2為true

boolean b3 = new object() instanceof string;

b3為falseobject是父類

boolean b4 = 'a' instanceof character;

編譯不通過『a』在此處視為基本資料型別char,instanceof操作符只能用作物件的判斷

boolean b5 = null instanceof string;

b5為false這是instanceof 特 有 的 規 則 : 若左運算元為null, 結果就直接返回false, 不再運算右運算元是什麼類。

boolean b6 = (string)null instanceof string;

b6為false即使型別轉換還是個 null

boolean b7 = new date() instanceof string;

編譯不通過instanceof 操作符的左右運算元必須有繼承或實現關係,否則編譯出錯

boolean b8 = new genericclass().isdateinstance("");

class genericclass

編譯通過,b8為false因為用了泛型,所以位元組碼的時候t就是object型別啦,此處t instanceof date等價於object instance of date。

你真的了解Java中的Instanceof嗎?

instanceof 是乙個簡單的二元操作符,它是用來判斷乙個物件是否是乙個類例項的 boolean b1 sting instanceof object b1為true因為string是object的子類 boolean b2 new string instanceof string b2為tru...

你真的了解Java嗎?

三目運算子規則 如果第二個和第三個運算元具有相同的型別,那麼它就是條件表示式的類 型。換句話說,你可以通過繞過混合型別的計算來避免 煩。如果乙個運算元的型別是 t,t 表示 byte short 或 char,而另乙個運算元是乙個 int 型別的常量表示式,它的值是可以用型別 t 表示的,那麼條件表...

你真的了解JAVA裡的String嗎?

1.string str1 abc system.out.println str1 abc 步驟 1 棧中開闢一塊空間存放引用str1,2 string池中開闢一塊空間,存放string常量 abc 3 引用str1指向池中string常量 abc 4 str1所指代的位址即常量 abc 所在位址,...