Definición de parámetro de tipo formal de Java (genéricos)
Me gustaría definir un tipo genérico, cuyo parámetro de tipo real solo puede ser
Una de las clases de contenedor primitivo numérico (Long
, Integer
, Float
, Double
)String
Puedo cumplir el primer requisito con una definición como esta
public final class MyClass<T extends Number> {
// Implementation omitted
}
Pero no puedo entender cómo conocerlos a ambos. Sospecho que esto no es realmente posible, porque AFAIK no hay forma de especificar "o" semántica al definir un parámetro de tipo formal, aunque puede especificar "y" semántica utilizando una definición como
public final class MyClass<T extends Runnable & Serializable > {
// Implementation omitted
}
Saludos, Don