开发者

How to find out if a Object is a integer or is a string or is a boolean?

开发者 https://www.devze.com 2022-12-21 22:47 出处:网络
I have an object and I want to detect what type is, so I can call if (obj isa Integer) put(key,integerval);

I have an object and I want to detect what type is, so I can call

if (obj isa Integer)
  put(key,integerval);  
if (obj isa String)
    put(key,stringval);  
if (obj isa Boolean)
    put(key,boo开发者_JAVA百科leanval);


You're pretty close, actually!

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

From the JLS 15.20.2:

RelationalExpression instanceof ReferenceType

At run time, the result of the instanceof operator is true if the value of the RelationalExpression is not null and the reference could be cast (§15.16) to the ReferenceType without raising a ClassCastException. Otherwise the result is false.

Looking at your usage pattern, though, it looks like you may have bigger issues than this.

0

精彩评论

暂无评论...
验证码 换一张
取 消