如何检查java中的值是否为整数?

时间:2011-12-01 04:40:44

标签: java integer

我通过restTemplate使用了一些API。 API返回一个类型为整数的键。

但我不确定该值,所以我想检查密钥是否真的是整数。 我认为它可能是一个字符串。

检查值是否真的是整数的最佳方法是什么?

加入: 我的意思是某些API可能会返回如下所示的值。 {id:10}或{id:" 10"}

4 个答案:

答案 0 :(得分:10)

如果你收到的是一个String,你可以尝试将它解析成一个整数,如果它失败了,那是因为它毕竟不是一个整数。像这样:

public static boolean isInteger(String str) {
    try {
        Integer.parseInt(str);
        return true;
    } catch (NumberFormatException nfe) {
        return false;
    }
}

答案 1 :(得分:9)

Object x = someApi();

if (x instanceof Integer) 

请注意,如果someApi()返回类型Integer,则返回的唯一可能性是:

  • Integer
  • null

在这种情况下你可以:

if (x == null) {
    // not an Integer
} else {
    // yes an Integer
}

答案 2 :(得分:2)

一种可能性是使用Integer.valueOf(String)

答案 3 :(得分:0)

假设您的API返回值可以是Integer或String,您可以执行以下操作:

Integer getValue(Object valueFromAPI){
    return (valueFromAPI != null ? Integer.valueOf(valueFromAPI.toString()) : null); 
}