请解释最终的AtomicReference

时间:2013-04-21 19:43:21

标签: java final java.util.concurrent atomicreference

有人可以解释一下这个:

final AtomicReference<Integer> atomicReference = new AtomicReference<>(1);
atomicReference.set(2);

最终使用的是什么意思?

4 个答案:

答案 0 :(得分:9)

  

最终使用的是什么意思?

变量本身是最终的。您无法更改变量的值以引用其他AtomicReference对象。

在对象上调用set,从而更改对象内的数据根本不是一回事。

用更现实的语言来说,我可以把你的家庭住址告诉你,“你不能改变我居住的地方。”这并不能阻止你画我的前门绿色(即改变地址所指的房子。)

答案 1 :(得分:1)

final阻止您更改变量以引用其他实例 它不会阻止您改变现有实例。

这意味着你无法写

atomicReference = something;

答案 2 :(得分:1)

final表示atomicReference可以 不再引用另一个AtomicReference

答案 3 :(得分:1)

final只是意味着无法重新分配变量/对象。

但你可以通过setter修改你的对象,例如

检查出来:

http://en.wikipedia.org/wiki/Final_(Java)