整数的对象实例返回 false


Object obj = "1234";
System.out.println(obj instanceof Integer);

我应该怎么做才能检查这样的对象,如果它是整数或浮点数的实例。

好吧,

它返回 false,因为 obj 不是一个Integer,它是对String对象的引用。

Object obj = "1234";
try {
    int value = ((Integer) obj);
} catch (ClassCastException e) {
    // failed
}

Object obj = "1234";
try {
    int value = Integer.parseInt((String)obj);
} catch (NumberFormatException e) {
    // failed
}

你的obj是一个String,下面的一个可以返回true

Object obj = new Integer(1234);

Object obj = 1234;

试试这个

try {
    int a = Integer.parseInt("1234");
    // No need to check instance of now, if supplied argument is number
    // then parseInt() will pass otherwise you will get exception.
} catch (NumberFormatException e) {
    System.out.println("Supplied argument is not valid number");
}

""之间的任何事物都是字符串。您正在检查字符串与整数,这就是它给出 false 的原因。

试试Object obj = 1234;

它将通过自动装箱将基元类型int更改为Integer

Object obj=new Integer(123);

相关内容

  • 没有找到相关文章

最新更新