Mam prostą klasę podobną do poniższej, ale mam pytanie dotyczące używania generycznych, aby zwrócić wartość.Jak zwrócić liczbę używając generycznych w Javie?
import java.util.ArrayList;
public class Box<T extends Number> {
private ArrayList<T> list;
public Box(){
list = new ArrayList<T>();
}
public T get(int i){
if(i <list.size())
return list.get(i);
else
return 0; // Problem
}
}
I musi dostać 0 (lub 0,0 - to zależy od wartości T) kiedy < list.size() nie jest zerowy. Jak mogę to poprawnie zakodować, aby to zrobić?
Zamiast tego zwracamy 'null', 0 nie jest obiektem. –
Problem polega na tym, że chociaż napisałeś "return 0", java musi zwrócić instancję klasy T, która nie jest znana podczas kompilacji. –