Я использовал Collection
числовых значений и реализовал некоторые связанные функции (отображение значений x-> y и т. Д.). До сих пор я использовал дженерики, чтобы разрешить любой подкласс Number
в Collection
.
В этом конкретном классе я продолжаю сталкиваться с проблемой, заключающейся в том, что нет простого способа привести к универсальному. Обычные методы, такие как Double.valueOf()
, не могут быть вызваны, потому что Number
не предоставляет такой метод.
Есть ли хороший способ обойти это?
Я нашел этот пост и подумал, что это решит его, но я не могу передать ему параметр Class.class
.
public class myList<T extends Number> extends Collection<T> {
@Override
public boolean add(T value){
// this is no problem
}
// What I want to do:
public boolean add(double value){
return this.add(T.valueOf(value));
}
// Using the example I found:
public void add(double value){
return this.add( (T) Ideone.parse(value, T.class) ); // no such option
}
}
Заранее спасибо.