我如何得到给定的值是Integer或String

时间:2015-03-19 08:02:18

标签: java string object integer instance

我正在努力找到问题的解决方案。我的问题是我得到一个名为"key"的参数值,其数据类型为Object。在开始使用此key之前,我首先要检查的是IntegerString以及任何类型的data-type(主要目的是检查Integer }}& String)。

我已经尝试了谷歌,但我没有任何用处。

请提供一些解决方案。

许多人提前感谢。

示例

if(key is Integer){
  //do something here
}else{
  // do something here
}

3 个答案:

答案 0 :(得分:6)

表示整数 -

if(key instanceof Integer){
 //Integer
}  

对于String -

if(key instanceof String){
 //String
}  

或者您可以使用key.getClass()

答案 1 :(得分:2)

我使用如下

public static void main(String... args) {
    Test test = new Test();
    test.invoke(1);
    test.invoke("something");

}
public void invoke(Object obj) {
    if (obj != null) {
        if (obj.getClass() == Integer.class) {
            System.out.println("It is integer !");
        }
        else if (obj.getClass() == String.class) {
            System.out.println("It is String !");
        }
    }
}

输出

  

是整数!

     

是字符串!

答案 2 :(得分:0)

您可以尝试使用instatnceOf运算符。它会告诉您密钥是否为Integer类型。

if(key instanceOf Integer)
 {
    //key is Integer type
 }