java模板函数中的一种简单方法,如cpp

java模板函数中的一种简单方法,如cpp,java,templates,Java,Templates,如何在java中使用模板? 假设cpp中的数组和函数可能如下所示: template <typename T> T sum (T *array, const int length) { if (length <= 0) return (T) 0; T res = array[0]; for (int i = 1; i < length; ++i) res += array[i]; return res; } 我在这里尝试了类名,但需要编写大量代码;对于i

如何在java中使用模板? 假设cpp中的数组和函数可能如下所示:

template <typename T>
T sum (T *array, const int length) {
  if (length <= 0) return (T) 0;
  T res = array[0];
  for (int i = 1; i < length; ++i) res += array[i];
  return res;
}
我在这里尝试了
类名
,但需要编写大量代码;对于
int、float、long、double也很难

那么在java中如何做到这一点呢?

你不能这样做。它们是不同的语言,java就是不这样工作。在java中,你并不需要函数来完成这一点:例如,如果它是一个整数数组,你可以在一个线性行中完成:
Arrays.stream(arr).mapToInt(Integer::intValue).sum()
如果是
Long
Arrays.stream(arr).mapToLong(Long::longValue).sum()
等等。你不能这样做。它们是不同的语言,Java就是不能这样工作。在Java中,你并不需要一个函数来实现这一点:例如,如果它是一个整数数组,你可以在一行中实现:
Arrays.stream(arr).mapToInt(Integer::intValue).sum()
如果是
Long
Arrays.stream(arr).mapToLong(Long::longValue).sum()
等。
sum (float *);
sum (double *);
sum (long *);