📌  相关文章
📜  Java中的 AtomicIntegerArray getAndSet() 方法及示例(1)

📅  最后修改于: 2023-12-03 14:42:43.923000             🧑  作者: Mango

Java中的 AtomicIntegerArray getAndSet() 方法及示例

简介

在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的类型必须是原子的,例如intlong等,否则将引发ClassCastException异常。