gpt4 book ai didi

java - 对象自动转换为整数的机会吗?

转载 作者:搜寻专家 更新时间:2023-10-31 08:07:42 25 4
gpt4 key购买 nike

我想知道下面的代码是否适用于任何情况?

Object value = attValue.getValue(); // Returns an Object, might contain an Integer
if (value instanceof Integer) {
if (mAccount.getValue() != value) { // mAccount.getValue() return int
// Do something here
}
}

它适用于我的 Android 工作室,但不适用于其他人的 PC。是什么让它对我有用?

最佳答案

是的,这是完全可行的,因为自动装箱保证对小值起作用,并且允许对较大值起作用。例如,这保证打印 true:

Object x = 5;
Object y = 5;
System.out.println(x == y);

可能打印为真,但不保证:

Object x = 10000;
Object y = 10000;
System.out.println(x == y);

不过,我绝对不会在代码中依赖它,部分原因是虽然保证可以重用 -128 到 127 之间的值(请参阅 JLS 5.1.7),但一些 JVM 可能 重用范围更广的值可能会让您对代码产生错误的安全感。

在您的情况下,我们不知道您是否看到了平台的差异(还要记住我们谈论的是 Android 而不是 JVM),或者只是当它“工作”时被装箱的值很小,当它“不起作用”时它就不是。

关于java - 对象自动转换为整数的机会吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33175108/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com