📅  最后修改于: 2023-12-03 14:42:43.923000             🧑  作者: Mango
在Java中,AtomicIntegerArray
是一个提供原子操作的线程安全的数组。AtomicIntegerArray
类提供了许多方法来执行原子操作,其中之一是getAndSet()
方法。getAndSet()
方法用于设置给定索引位置的元素的新值,并返回设置前的旧值。
public final int getAndSet(int i, int newValue)
i
:要设置的元素的索引。newValue
:要设置的新值。import java.util.concurrent.atomic.AtomicIntegerArray;
public class AtomicIntegerArrayExample {
public static void main(String[] args) {
int[] array = {1, 2, 3, 4, 5};
AtomicIntegerArray atomicArray = new AtomicIntegerArray(array);
// 设置给定索引位置的新值,并返回旧值
int oldValue = atomicArray.getAndSet(2, 10);
System.out.println("旧值为: " + oldValue);
System.out.println("修改后的数组为: " + atomicArray);
}
}
以上示例代码演示了如何使用AtomicIntegerArray
类的getAndSet()
方法。首先,我们创建一个包含整数的数组,并将其传递给AtomicIntegerArray
的构造函数来创建一个原子数组。然后,我们使用getAndSet()
方法将索引位置为2的元素的值设置为10,并返回旧值。最后,我们打印出旧值和修改后的数组。
ArrayIndexOutOfBoundsException
:如果索引超出范围,则会抛出该异常。newValue
的类型必须是原子的,例如int
、long
等,否则将引发ClassCastException
异常。