Java.util.concurrent.atomic.AtomicLong.getAndAdd () es un método incorporado en Java que agrega el valor dado al valor actual y devuelve el valor antes de la actualización, que es de tipo de datos long .
Sintaxis:
public final long getAndAdd(long val)
Parámetros: la función acepta un solo parámetro obligatorio val que especifica el valor que se agregará al valor actual.
Valor devuelto: la función devuelve el valor antes de que se realice la suma al valor anterior.
Los siguientes programas ilustran el método anterior:
Programa 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); } }
Producción:
Previous value: 0 Current value: 7
Programa 2:
// 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); } }
Producción:
Previous value: 18 Previous value: 18 Current value: 26
Referencia: https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/AtomicLong.html#getAndAdd-long-