我如何获得给定值是整数或字符串

How do I get given value is Integer Or String

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

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

请提供一些解决方案。

非常感谢。

例子

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

对于整数 -

if(key instanceof Integer){
 //Integer
}  

对于字符串 -

if(key instanceof String){
 //String
}  

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

我使用如下

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 !");
        }
    }
}

输出

It is integer !

It is String !

您可以尝试使用 instatnceOf 运算符。它会告诉你key是不是Integer类型。

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