2013-04-09 54 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) 
{ 
...  
} 
相关问题