Buscar
Social
Ofertas laborales ES

Foro sobre Java SE > estrategia

public class Operación{
public int sumar(int a, int b){return a+b;}
public int sumar(int a, int b, int c){return a+b+c;}
public int sumar(int a, int b, int c, int d){return a+b+c+d;}
}

Con las versiones más recientes de java ¿cuál es la mejor estrategia para reducir el código anterior?

junio 19, 2014 | Unregistered Commenterkjava

Ya está respondido en: http://www.javahispano.org/java-se/post/2355755

junio 19, 2014 | Registered Commenterchoces

Como siempre se puede mejorar, sigue una nueva implementación de Operaciones.
Por si en el otro hilo no quedaba claro, el método public int sumar(int... valores) es el que reemplaza todos los métodos sumar propuestos. Con una diferencia: este nuevo método sirve para sumar un número indeterminado de enteros.
Los otros dos métodos permiten sumar arrays o listas de Integer.

public class Operacion {

public int sumar(Integer... valores) {
return sumar(Arrays.asList(valores));
}

public int sumar(List<Integer> valores) {
int suma = 0;
suma = valores.stream().reduce(suma, Integer::sum);
return suma;
}

public int sumar(int... valores) {
int suma = 0;
suma = Arrays.stream(valores).reduce(suma, Integer::sum);
return suma;
}
}

junio 19, 2014 | Registered Commenterchoces