例如C++写一个求最大值的函数
请输入代码
int max(int x,int y){return (x>y)?x:y; }
这时如果参数是浮点型,则又要定义一个函数版本
float max(float x,float y){return (x>y)?x:y; }
这些函数内容基本相同,但是参数和返回类型不同,一个个定义则会有许多重复信息,C++中用函数模板解决
template <class T>T max(T x, T y) {return (x>y)?x:y; }
比如我在Java中实现一个交换数组元素的方法:
void swap(int[] array , int i , int j ){ int temp = i ; i = j ; j = temp ; }
之后我发现不单单有int类型的数组,还有String数组,float数组,功能也是一样,我应该怎么样实现呢?不能有什么数组,我就重写一个函数,参数分别为String数组、float数组吧。。。
在JAVA中类似这样的问题是如何解决的?如果实现类似于C++中函数模板的功能