如何确定Object是整数还是isa字符串或是布尔值?

时间:2010-03-06 09:04:03

标签: java

我有一个对象,我想检测出什么类型,所以我可以调用

if (obj isa Integer)
  put(key,integerval);  
if (obj isa String)
    put(key,stringval);  
if (obj isa Boolean)
    put(key,booleanval);

1 个答案:

答案 0 :(得分:26)

你真的非常接近!

if (obj instanceof Integer)
    put(key,integerval);  
if (obj instanceof String)
    put(key,stringval);  
if (obj instanceof Boolean)
    put(key,booleanval);

来自JLS 15.20.2

  

RelationalExpression instanceof ReferenceType

     

在运行时,如果 RelationalExpression 的值不是instanceof并且可以投射引用,则true运算符的结果为null( §15.16)到 ReferenceType 而不提出ClassCastException。否则结果为false

看看你的使用模式,看起来你可能会遇到比这更大的问题。