2013-04-09 95 views
1

計算平均我有一個Java方法,該方法需要一個方法從ArrayList中<Float>和ArrayList <Integer>

ArrayList<Float> 

作爲參數。它計算ArrayList的平均值,並返回該值。

現在我想傳遞一個

ArrayList<Integer> 

Java將不會允許這樣做,將有可能在C++中。

所以,只是想知道除了創建一個只有類型不同的相同的類,傳遞給每個方法的參數之外,還有哪些可用的替代方法。

回答

4

更改簽名就可以接受:

List<? extends Number> 

,而不是像這樣:

public Double avg(List<? extends Number> list) { 
    // calculate average here 
} 
7

你的方法應該採取List<? extends Number>作爲參數,得到的數字的浮點值,並計算它們的平均值。

List<? extends Number>意思是:某個未知類型的列表,或是正在擴展的Number。

2

你可以使用一個方法聲明中這樣的:

public Number average(Collection<? extends Number> values) 
{ 
...  
} 
相關問題