java的原子数据类型
时间: 2024-06-03 09:06:14 浏览: 102
Java提供了一些原子数据类型,这些类型的操作被保证是原子性的,即在多个线程运行时,不会出现数据不一致的情况,以下是一些常用的原子类型[^1]:
1. 原子整数类型:AtomicInteger
```java
AtomicInteger atomicInteger = new AtomicInteger(10); // 初始化值为10
int result = atomicInteger.getAndAdd(5); // 先获取当前值10,然后加上5,返回15
```
2. 原子长整型:AtomicLong
```java
AtomicLong atomicLong = new AtomicLong(100L); // 初始化值为100
long result = atomicLong.getAndIncrement(); // 先获取当前值100,然后自增1,返回100
```
3. 原子布尔型:AtomicBoolean
```java
AtomicBoolean atomicBoolean = new AtomicBoolean(true); // 初始化值为true
boolean result = atomicBoolean.compareAndSet(true, false); // 如果当前值为true,则设置为false,返回true;否则不变,返回false
```
4. 原子引用型:AtomicReference
```java
AtomicReference<String> atomicReference = new AtomicReference<>("hello"); // 初始化值为"hello"
String result = atomicReference.getAndSet("world"); // 先获取当前值"hello",然后设置为"world",返回"hello"
```
除了以上类型,Java还提供了一些原子数组类型,如AtomicIntegerArray、AtomicLongArray和AtomicReferenceArray等。
阅读全文