C# `Interlocked.Exchange(Object, Object) : Object` 的 Java 等价物是什么?

What is the Java equivalent for C# `Interlocked.Exchange(Object, Object) : Object`?

C# Interlocked.Exchange(Object, Object) : Object 的 Java 等价物是什么? Java 中是否有一种方法可以在单个原子步骤 中执行以下操作而无需锁定 :1) 在本地存储变量的引用 2) 将另一个引用设置为相同的变量?

据我所知,没有针对任意变量执行此操作的操作...但这就是 AtomicReference 类型的用途:

private AtomicReference<String> stringReference;

...

String oldValue = stringReference.getAndSet(newValue);