Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| Java™ Platform Standard Ed. 6
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## java.util.concurrent.atomic
Class AtomicInteger

    java.lang.Object
      java.lang.Number
          java.util.concurrent.atomic.AtomicInteger

All Implemented Interfaces:
  Serializable

    public class AtomicInteger

extends Number
implements Serializable

An `int` value that may be updated atomically. See the `java.util.concurrent.atomic` package specification for description of the properties of atomic variables. An `AtomicInteger` is used in applications such as atomically incremented counters, and cannot be used as a replacement for an `Integer`. However, this class does extend `Number` to allow uniform access by tools and utilities that deal with numerically-based classes.

Since:
  1.5
See Also:
  Serialized Form

Constructor Summary
`AtomicInteger()` Creates a new AtomicInteger with initial value `0`.
`AtomicInteger(int initialValue)` Creates a new AtomicInteger with the given initial value.

Method Summary
`int` | `addAndGet(int delta)` Atomically adds the given value to the current value.
`boolean` | `compareAndSet(int expect, int update)` Atomically sets the value to the given updated value if the current value `==` the expected value.
`int` | `decrementAndGet()` Atomically decrements by one the current value.
`double` | `doubleValue()` Returns the value of the specified number as a `double`.
`float` | `floatValue()` Returns the value of the specified number as a `float`.
`int` | `get()` Gets the current value.
`int` | `getAndAdd(int delta)` Atomically adds the given value to the current value.
`int` | `getAndDecrement()` Atomically decrements by one the current value.
`int` | `getAndIncrement()` Atomically increments by one the current value.
`int` | `getAndSet(int newValue)` Atomically sets to the given value and returns the old value.
`int` | `incrementAndGet()` Atomically increments by one the current value.
`int` | `intValue()` Returns the value of the specified number as an `int`.
`void` | `lazySet(int newValue)` Eventually sets to the given value.
`long` | `longValue()` Returns the value of the specified number as a `long`.
`void` | `set(int newValue)` Sets to the given value.
`String` | `toString()` Returns the String representation of the current value.
`boolean` | `weakCompareAndSet(int expect, int update)` Atomically sets the value to the given updated value if the current value `==` the expected value.

Methods inherited from class java.lang.Number
`byteValue, shortValue`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Constructor Detail

### AtomicInteger

    public AtomicInteger(int initialValue)

  Creates a new AtomicInteger with the given initial value.

  Parameters:
    `initialValue` - the initial value

### AtomicInteger

    public AtomicInteger()

  Creates a new AtomicInteger with initial value `0`.

Method Detail

### get

    public final int get()

  Gets the current value.

  Returns:
    the current value

### set

    public final void set(int newValue)

  Sets to the given value.

  Parameters:
    `newValue` - the new value

### lazySet

    public final void lazySet(int newValue)

  Eventually sets to the given value.

  Parameters:
    `newValue` - the new value
  Since:
    1.6

### getAndSet

    public final int getAndSet(int newValue)

  Atomically sets to the given value and returns the old value.

  Parameters:
    `newValue` - the new value
  Returns:
    the previous value

### compareAndSet

    public final boolean compareAndSet(int expect,
                                       int update)

  Atomically sets the value to the given updated value if the current value `==` the expected value.

  Parameters:
    `expect` - the expected value
    `update` - the new value
  Returns:
    true if successful. False return indicates that the actual value was not equal to the expected value.

### weakCompareAndSet

    public final boolean weakCompareAndSet(int expect,
                                           int update)

  Atomically sets the value to the given updated value if the current value `==` the expected value.

  May fail spuriously and does not provide ordering guarantees, so is only rarely an appropriate alternative to `compareAndSet`.

  Parameters:
    `expect` - the expected value
    `update` - the new value
  Returns:
    true if successful.

### getAndIncrement

    public final int getAndIncrement()

  Atomically increments by one the current value.

  Returns:
    the previous value

### getAndDecrement

    public final int getAndDecrement()

  Atomically decrements by one the current value.

  Returns:
    the previous value

### getAndAdd

    public final int getAndAdd(int delta)

  Atomically adds the given value to the current value.

  Parameters:
    `delta` - the value to add
  Returns:
    the previous value

### incrementAndGet

    public final int incrementAndGet()

  Atomically increments by one the current value.

  Returns:
    the updated value

### decrementAndGet

    public final int decrementAndGet()

  Atomically decrements by one the current value.

  Returns:
    the updated value

### addAndGet

    public final int addAndGet(int delta)

  Atomically adds the given value to the current value.

  Parameters:
    `delta` - the value to add
  Returns:
    the updated value

### toString

    public String toString()

  Returns the String representation of the current value.

  Overrides:
    `toString` in class `Object`
  Returns:
    the String representation of the current value.

### intValue

    public int intValue()

  Description copied from class: `Number`
  Returns the value of the specified number as an `int`. This may involve rounding or truncation.

  Specified by:
    `intValue` in class `Number`
  Returns:
    the numeric value represented by this object after conversion to type `int`.

### longValue

    public long longValue()

  Description copied from class: `Number`
  Returns the value of the specified number as a `long`. This may involve rounding or truncation.

  Specified by:
    `longValue` in class `Number`
  Returns:
    the numeric value represented by this object after conversion to type `long`.

### floatValue

    public float floatValue()

  Description copied from class: `Number`
  Returns the value of the specified number as a `float`. This may involve rounding.

  Specified by:
    `floatValue` in class `Number`
  Returns:
    the numeric value represented by this object after conversion to type `float`.

### doubleValue

    public double doubleValue()

  Description copied from class: `Number`
  Returns the value of the specified number as a `double`. This may involve rounding.

  Specified by:
    `doubleValue` in class `Number`
  Returns:
    the numeric value represented by this object after conversion to type `double`.

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| Java™ Platform Standard Ed. 6
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Submit a bug or feature
For further API reference and developer documentation, see Java SE Developer Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.

Copyright © 1993, 2011, Oracle and/or its affiliates. All rights reserved.