例如C++寫一個(gè)求最大值的函數(shù)請(qǐng)輸入代碼int max(int x,int y){return (x>y)?x:y;
}這時(shí)如果參數(shù)是浮點(diǎn)型,則又要定義一個(gè)函數(shù)版本float max(float x,float y){return (x>y)?x:y;
}這些函數(shù)內(nèi)容基本相同,但是參數(shù)和返回類型不同,一個(gè)個(gè)定義則會(huì)有許多重復(fù)信息,C++中用函數(shù)模板解決template <class T>T max(T x, T y)
{return (x>y)?x:y;
}比如我在Java中實(shí)現(xiàn)一個(gè)交換數(shù)組元素的方法:void swap(int[] array , int i , int j ){ int temp = i ;
i = j ;
j = temp ;
}之后我發(fā)現(xiàn)不單單有int類型的數(shù)組,還有String數(shù)組,float數(shù)組,功能也是一樣,我應(yīng)該怎么樣實(shí)現(xiàn)呢?不能有什么數(shù)組,我就重寫一個(gè)函數(shù),參數(shù)分別為String數(shù)組、float數(shù)組吧。。。在JAVA中類似這樣的問(wèn)題是如何解決的?如果實(shí)現(xiàn)類似于C++中函數(shù)模板的功能
請(qǐng)問(wèn)在JAVA中是如何體現(xiàn)或者實(shí)現(xiàn)C++的函數(shù)模板這種機(jī)制的?
慕無(wú)忌1623718
2018-07-05 14:09:14