【发布时间】:2016-12-09 12:21:06
【问题描述】:
我想使用模板/泛型在 Java 中实现一个函数,就像在 C++ 中一样。我尝试在 Java 中使用具有原始值(int、double、...)的泛型,但是对于下面的函数意味着我从编译器得到以下错误:
错误:二元运算符 '+' sum += value 的操作数类型错误;第一的 类型:双秒类型:T 其中 T 是类型变量:T 扩展 在方法mean(T[])中声明的对象
我尝试将 T 替换为不同的值,但找不到答案。正确的做法是什么?
// Java code
private <T> double mean(T[] data) {
double sum = 0;
for (T value : data)
sum += value;
return sum / data.length;
}
【问题讨论】: