看板 java 關於我們 聯絡資訊
※ 引述《PsMonkey (痞子軍團團長)》之銘言: : 我在別人家的程式碼看到這一行 : if(value.getClass().toString().equals(String.class.toString())) : 我不太懂,這樣子寫有什麼好處? 為甚麼不直接用 : if(value instanceof String) : 就好了? : ==== : btw... 這是在 GWT client 的程式碼 : 但是已經確定 instanceof 在 client 是可以正確轉換的... Orz getClass() 做比較, 我只想到 1) 不想 child class 也通過 (可是這情況下的 String 是 final class) 2) 萬一 value 是 null, 用 instanceof 好像是 always true 的. 不過我有看過的, 都只是 value.getClass() == String.class; 或 value.getClass().equals(String.class); toStirng 才比較 我也猜不透為什麼了. orz -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 202.155.236.82
PsMonkey:null instanceof Foo 會得到 false...... 09/16 14:31
godfat:my.hack.String ? 09/16 15:33
AI3767:嗯… 若value是null, 那value.getClass()會exception 09/16 16:13
ken915007:value是null,使用instanceof是不會出現exception的 09/16 21:07
adrianshum:咦? 記錯了 XD 但我記得null/Void 有特別特性,忘了是啥 09/16 21:27