Ho una classe semplice come quella seguente, ma ho una domanda sull'utilizzo di generici per restituire un valore.Come restituire un numero utilizzando i generici in Java?
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 devo ottengo 0 (o 0,0 - dipende dal valore di T) quando i < list.size() non è nullo . Come posso codificarlo correttamente per farlo?
Restituisce 'null' invece, 0 non è un oggetto. –
Il problema è che sebbene tu abbia scritto "return 0", java deve restituire un'istanza di classe T, che non è nota al momento della compilazione. –