gpt4 book ai didi

Java - 引用原始数据类型?

转载 作者:行者123 更新时间:2023-11-30 07:30:23 25 4
gpt4 key购买 nike

我知道用下面的,做个引用

public class MyClass
{
public Integer value;
}

public class Main
{
public static void main( String[] args )
{
MyClass john = new MyClass();
john.value = 10;
MyClass bob = john;
bob.value = 20;

System.out.println(Integer.toString(john.value)); // Should print value of "20"
}
}

但是如何使用原始数据类型进行类似的引用?

public class Main
{
public static void main( String[] args )
{
Integer x = 30;
Integer y = x;
y = 40;
System.out.println(Integer.toString(x)); // Prints "30". I want it to print "40"
}
}

最佳答案

简单的回答:你不知道。原始值始终按值传递(即它们被复制)。

Integer 之类的包装器对象也是不可变的,即 y = 40 将创建一个值为 40 的新 Integer 对象并将其分配给

要实现您想要的效果,您需要一个可以更改其值的容器对象。

例如,您可以使用 AtomicInteger:

AtomicInteger x = new AtomicInteger(30);
AtomicInteger y = x;
y.set( 40 );

System.out.println(x.get());

关于Java - 引用原始数据类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7892257/

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