¿Cómo puedo crear genéricamente un cero de un tipo numérico arbitrario?Crear un valor cero de una subclase de Número genérico
Aquí hay un ejemplo de juguete: una función que convierte un número nulo en cero.
static <T extends Number> T zeroIfNull(T value) {
return value == null ? 0 : value;
}
Esto no se compila porque el cero literal es de tipo int
, y necesito convertir a que escriba T
.
¿Es posible hacer esto en absoluto?
Este es el enfoque más elegante. Ojalá Java tuviera un operador coalescente. Tal vez debería usar C# :) –