下面的代码打印 true。
public static void main(String[] args) {
Boolean test = false;
test = true;
System.out.println(test);
如果 boolean 值在 Java 中是不可变的,我如何才能将测试从 false 更改为 true?它不应该给我一个错误吗?
最佳答案
混淆是因为自动装箱。代码应阅读为
Boolean test = new Boolean(false);
test = new Boolean(true);
因此,您正在更改 reference 测试以指向一个新的 boolean 对象(其初始值为 true)。原始 boolean 对象未被更新。事实上,没有办法更新它的实际值。因此它是不可变的。
关于boolean - 如果 boolean 值在 Java 中是不可变的,我如何才能改变这个 boolean 值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41688457/