使用updateAndGet方法进行更新值,传入的是一个​​IntUnaryOperator​​接口,使用lambda表达式完成功能即可。

下面是一个简单的例子

public class ThreadLocalDemo {
public static void main(String[] args) {

AtomicInteger atomicInteger = new AtomicInteger(Integer.MAX_VALUE);
atomicInteger.updateAndGet((x) -> {
if (x >= Integer.MAX_VALUE) {
System.out.println("超过最大值" + x);
return 0;
} else if (x < Integer.MIN_VALUE) {
System.out.println("超过最小值");
return 0;
} else {
return x + 1;
}
});
System.out.println(atomicInteger.get());

}
}