Class LongValue
This class extends Value<Long> and adds a convenience method for incrementing
the value, which is useful for counting operations in lambdas and loops.
Notes:
-
This class is not thread-safe. For concurrent access, use
AtomicLonginstead.
Example:
See Also:
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionAdds the specified value to the current value.Adds the specified value to the current value and returns the new value.static LongValuecreate()Creates a new long value initialized to0 .Decrements the value by 1.Decrements the value by 1 and returns the new value.longReturns the current value and then increments it.Increments the value by 1.Increments the value by 1 and returns the new value.booleanChecks if the current value is equal to the specified value.booleanChecks if the current value matches any of the specified values.static LongValueCreates a new long value with the specified initial value.
-
Constructor Details
-
LongValue
Constructor.- Parameters:
value- The initial value.
-
-
Method Details
-
create
Creates a new long value initialized to0 .Example:
LongValue
counter = LongValue.create ();assertEquals (0L,counter .get());- Returns:
- A new long value.
-
of
Creates a new long value with the specified initial value.Example:
LongValue
counter = LongValue.of (42L);assertEquals (42L,counter .get());- Parameters:
value- The initial value.- Returns:
- A new long value.
-
add
Adds the specified value to the current value.Example:
LongValue
value = LongValue.of (10L);value .add(5L);assertEquals (15L,value .get());- Parameters:
x- The value to add.- Returns:
- This object.
-
addAndGet
Adds the specified value to the current value and returns the new value.Example:
LongValue
value = LongValue.of (10L);long result =value .addAndGet(5L);// Returns 15L assertEquals (15L,value .get());- Parameters:
x- The value to add.- Returns:
- The new value after addition.
-
decrement
Decrements the value by 1.Example:
LongValue
counter = LongValue.of (5L);counter .decrement();assertEquals (4L,counter .get());- Returns:
- This object.
-
decrementAndGet
Decrements the value by 1 and returns the new value.Example:
LongValue
counter = LongValue.of (5L);long result =counter .decrementAndGet();// Returns 4L assertEquals (4L,counter .get());- Returns:
- The decremented value.
-
getAndIncrement
Returns the current value and then increments it.Example:
LongValue
counter = LongValue.of (5L);long current =counter .getAndIncrement();// Returns 5L long next =counter .get();// Returns 6L - Returns:
- The value before it was incremented.
-
increment
Increments the value by 1.Example:
LongValue
counter = LongValue.of (5L);counter .increment();assertEquals (6L,counter .get());- Returns:
- This object.
-
incrementAndGet
Increments the value by 1 and returns the new value.Example:
LongValue
counter = LongValue.of (5L);long result =counter .incrementAndGet();// Returns 6L assertEquals (6L,counter .get());- Returns:
- The incremented value.
-
is
Checks if the current value is equal to the specified value.Uses
Utils.eq(Object, Object)for deep equality comparison, which handles nulls safely.Example:
LongValue
value = LongValue.of (42L);assertTrue (value .is(42L));assertFalse (value .is(43L)); -
isAny
Checks if the current value matches any of the specified values.Uses
Utils.eq(Object, Object)for deep equality comparison of each value.Example:
LongValue
value = LongValue.of (5L);assertTrue (value .isAny(3L, 5L, 7L));assertFalse (value .isAny(1L, 2L));- Parameters:
values- The values to compare to.- Returns:
true if the current value matches any of the specified values.
-