我喜歡這個 -Java的使用泛型返回不止一種類型
public List<Apples> returnFruits(String arg1){
List<Apples> fruits = new ArrayList<Apples>();
Apple a = new Apple();
fruits.add(a);
return fruits;
}
我想改變它,這樣我可以從指定的方法調用的果型,並返回水果的方法名單。所以第二條語句應該動態實例化我傳遞的水果列表。我想到了這一點 -
public List<?> returnFruits(String arg1){
List<T> fruits = new ArrayList<T>();
T t = new T();
fruits.add(t);
return fruits;
}
但是不知道正確的做法,如你所見。
在第二種方法中,我只返回水果代替列表 -
的
public T returnFruit(){
T t = new T();
return t;
}
所傳遞的水果是不是在同一個類層次和不同類型。
謝謝。
+1;我贊同你。不過,'clazz'有一個缺省構造函數(零參數)的風險。它會導致'newInstance'失敗。 – home 2012-02-24 15:29:20
我同意。看看yshavit解決方案,在這裏提出一個使用界面生成器的優秀解決方案。 ;) – Nicocube 2012-02-24 16:12:40
感謝您的解決方案。你有一個關於如何使用你的解決方案在對象類型上執行方法的想法。所以,如果Apple有方法設置顏色,我不認爲我可以說t.setColor();有沒有辦法調用這個函數?謝謝。 – Maryam 2012-02-24 20:04:23