Java泛型類與泛型方法的定義詳解
本文實例講述了Java泛型類與泛型方法的定義。分享給大家供大家參考,具體如下:
Java泛型類的定義
一 點睛
泛型類定義的語法如下:
[訪問修飾符] class 類名稱 <T>
泛型類的主要作用在于類被實例化后,傳入具體的類型參數(shù),對類的成員屬性的類型和成員方法的參數(shù)類型和返回值類型進行替換。
二 代碼
public class Base<T> {
T m;
Base(T t) {
m = t;
}
public T getM(){
return m;
}
public void print() {
System.out.println("base print : " + m);
}
public static void main(String[] args) {
Base<String> base=new Base<String>("base class is general");
System.out.println(base.getM());
base.print();
}
}
三 運行
base class is general
base print : base class is general
四 說明
T可以用任何一種引用類型,但是不允許使用基本類型,如int、double、char、boolean等是不允許的。泛型類定義時,可以使用T來定義其成員變量和成員方法的返回值和參數(shù)。
Java泛型方法的定義
一 點睛
泛型方法主要用于容器類,Java中任何方法,包括靜態(tài)的(注意,泛型類不允許在靜態(tài)環(huán)境中使用)和非靜態(tài)的,均可以用泛型來定義,而且和所在類是否是泛型沒有關(guān)系。
下面是泛型方法的定義
[public] [static] <T> 返回值類型 方法名(T 參數(shù)列表)
二 代碼
public class GeneralMethod {
public static <U> void print(U[] list) {
System.out.println();
for (int i = 0; i < list.length; i++) {
System.out.print(" " + list[i]);
}
System.out.println();
}
public static void main(String[] args) {
String a[]={"a","b","c","d","e"};
Character b[]={'1','2','3','4','5'};
Integer c[]={1,2,3,4,5};
GeneralMethod.print(a);
GeneralMethod.print(b);
GeneralMethod.print(c);
}
}
三 運行
a b c d e
1 2 3 4 5
1 2 3 4 5
四 說明
使用泛型方法時,至少返回值或參數(shù)有一個是泛型定義的,而且應(yīng)該保持一致,否則可能會受到各種限制,因此,這里建議保持一致。
更多java相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Java面向?qū)ο蟪绦蛟O(shè)計入門與進階教程》、《Java數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Java操作DOM節(jié)點技巧總結(jié)》、《Java文件與目錄操作技巧匯總》和《Java緩存操作技巧匯總》
希望本文所述對大家java程序設(shè)計有所幫助。
相關(guān)文章
Mybatis-plus基于redis實現(xiàn)二級緩存過程解析
這篇文章主要介紹了Mybatis-plus基于redis實現(xiàn)二級緩存過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-08-08
springboot不掃描@repository的問題及解決
這篇文章主要介紹了springboot不掃描@repository的問題及解決,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-05-05
詳解Java8的forEach(...)如何提供index值
PowerShell用戶認(rèn)證Function實例代碼
SpringBoot集成tomcat詳解實現(xiàn)過程

