2015-03-19 29 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 
} 
相關問題