例如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++中函數模板的功能
請問在JAVA中是如何體現或者實現C++的函數模板這種機制的?
慕無忌1623718
2018-07-05 14:09:14