6
Tôi đã theo hai phương pháp:Phương pháp quá tải và Arguments với Generics trong Java
public static double calculateMeanInt(List<Integer> numbers) {
double sum = 0.0;
for(Integer number : numbers)
sum += number;
return sum/numbers.size();
}
public static double calculateMeanDouble(List<Double> numbers) {
double sum = 0.0;
for(Double number : numbers)
sum += number;
return sum/numbers.size();
}
Bạn có một giải pháp thanh lịch (trừ sử dụng loại đúc và Object) sẽ tránh mã trùng lặp ở trên và sẽ sử dụng một tên phương thức duy nhất?
+1 Câu trả lời hay. Nitpick: đây là một tham số [* type bounded *] (http://docs.oracle.com/javase/tutorial/extra/generics/methods.html) - một [wildcard] bị chặn (http://docs.oracle). com/javase/tutorial/extra/generics/wildcards.html) trông giống như 'List mở rộng Số> số' (trong trường hợp này nó sẽ hoạt động giống nhau). –
@PaulBellora Bạn đã đúng, đã sửa chữa. Cảm ơn ;) –