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

Respuestas a la pregunta(5)

Su respuesta a la pregunta