作者adrianshum (Alien)
看板java
标题Re: [问题] instanceof? class.toString().equals …
时间Wed Sep 16 14:28:11 2009
※ 引述《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
1F:推 PsMonkey:null instanceof Foo 会得到 false...... 09/16 14:31
2F:推 godfat:my.hack.String ? 09/16 15:33
3F:推 AI3767:嗯… 若value是null, 那value.getClass()会exception 09/16 16:13
4F:→ ken915007:value是null,使用instanceof是不会出现exception的 09/16 21:07
5F:→ adrianshum:咦? 记错了 XD 但我记得null/Void 有特别特性,忘了是啥 09/16 21:27