The Java.util.concurrent.atomic.AtomicLong.getAndAdd() is an inbuilt method in java that adds the given value to the current value and returns the value before updation which is of data-type long.
Syntax:
Java
Java
public final long getAndAdd(long val)Parameters: The function accepts a single mandatory parameter val which specifies the value to be added to the current value. Return value: The function returns the value before addition is performed to the previous value. Below programs illustrate the above method: Program 1:
// Java program that demonstrates
// the getAndAdd() function
import java.util.concurrent.atomic.AtomicLong;
public class GFG {
public static void main(String args[])
{
// Initially value as 0
AtomicLong val = new AtomicLong(0);
// Adds 7 and gets the previous value
long res
= val.getAndAdd(7);
// Prints the updated value
System.out.println("Previous value: "
+ res);
System.out.println("Current value: "
+ val);
}
}
Output:
Program 2:
Previous value: 0 Current value: 7
// Java program that demonstrates
// the getAndAdd() function
import java.util.concurrent.atomic.AtomicLong;
public class GFG {
public static void main(String args[])
{
// Initially value as 18
AtomicLong val = new AtomicLong(18);
// Prints the updated value
System.out.println("Previous value: "
+ val);
// Adds 8 and gets the previous value
long res = val.getAndAdd(8);
// Prints the updated value
System.out.println("Previous value: "
+ res);
System.out.println("Current value: "
+ val);
}
}
Output:
Reference: https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/AtomicLong.html#getAndAdd-long-Previous value: 18 Previous value: 18 Current value: 26