voglio fare una classe generica di questa forma:classe generica che accetta uno dei due tipi
class MyGenericClass<T extends Number> {}
Il problema è, voglio essere accettabile per T essere o Integer o Long, ma non doppio. Quindi le uniche due dichiarazioni accettabili saranno:
MyGenericClass<Integer> instance;
MyGenericClass<Long> instance;
C'è un modo per farlo?
Dov'è il vantaggio di usare un generico allora? Dato che un metodo con parametro di Tipo T accetterà un numero qualsiasi? –
Nel tuo codice, sicuramente non lo è. Poiché non è possibile scrivere il metodo accettando il parametro di Tipo T. È necessario scrivere due definizioni separate di ciascun metodo, uno per Integer e l'altro per Long. –
@djaqeel Non è vero. Se si tenta di utilizzare il metodo frob con qualcosa di diverso da Long o un intero, si otterrà un'eccezione del compilatore. – luke