2015-03-19 30 views
0

我正试图找到我的问题的解决方案。而我的问题是,我得到一个名为"key"的参数值,其数据类型为Object。在开始使用这种key之前,我想先检查一下是Integer还是String以及任何一种data-type(主要目的是检查Integer & String)。我如何得到给定的值是整数或字符串

我已经尝试谷歌,但我没有什么用处。

请提供一些解决方案。

很多人提前感谢。

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

该运算符在Java中称为'instanceof'。 – 2015-03-19 08:04:21

+1

你可以使用'Interger.parse()'或'regex'来确定它是否是一个Integer。 – Jens 2015-03-19 08:04:58

+1

Thanku guyzz它是帮助完整,我要试试这个。 – msk 2015-03-19 08:08:55

回答

6

的整数 -

if(key instanceof Integer){ 
//Integer 
} 

而对于字符串 -

if(key instanceof String){ 
//String 
} 

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

+2

乔恩Skeet已经提供此作为评论! – 2015-03-19 08:06:56

+1

@NeerajJain也许乔恩只是想捐出他的观点:D – Baby 2015-03-19 08:08:03

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

输出

它是整数!

它是字符串!

+0

谢谢@Cataclysm它是有帮助的。 – msk 2015-03-19 08:14:18

0

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

if(key instanceOf Integer) 
{ 
    //key is Integer type 
} 
相关问题