計算平均我有一個Java方法,該方法需要一個方法從ArrayList中<Float>和ArrayList <Integer>
ArrayList<Float>
作爲參數。它計算ArrayList的平均值,並返回該值。
現在我想傳遞一個
ArrayList<Integer>
Java將不會允許這樣做,將有可能在C++中。
所以,只是想知道除了創建一個只有類型不同的相同的類,傳遞給每個方法的參數之外,還有哪些可用的替代方法。
計算平均我有一個Java方法,該方法需要一個方法從ArrayList中<Float>和ArrayList <Integer>
ArrayList<Float>
作爲參數。它計算ArrayList的平均值,並返回該值。
現在我想傳遞一個
ArrayList<Integer>
Java將不會允許這樣做,將有可能在C++中。
所以,只是想知道除了創建一個只有類型不同的相同的類,傳遞給每個方法的參數之外,還有哪些可用的替代方法。
更改簽名就可以接受:
List<? extends Number>
,而不是像這樣:
public Double avg(List<? extends Number> list) {
// calculate average here
}
你的方法應該採取List<? extends Number>
作爲參數,得到的數字的浮點值,並計算它們的平均值。
List<? extends Number>
意思是:某個未知類型的列表,或是正在擴展的Number。
你可以使用一個方法聲明中這樣的:
public Number average(Collection<? extends Number> values)
{
...
}