Java中泛型通配符的使用方法示例
本文實例講述了Java中泛型通配符的使用方法。分享給大家供大家參考,具體如下:
一 點睛
引入通配符可以在泛型實例化時更加靈活地控制,也可以在方法中控制方法的參數(shù)。
語法如下:
泛型類名<? extends T> 或 泛型類名<? super T> 或 泛型類名<?>
- ? extends T:表示T或T的子類
- ? super T:表示T或T的父類
- ?:表示可以是任意類型
二 通配符在泛型類創(chuàng)建泛型對象中使用
1 代碼
class gent<T> { public void test() { System.out.println("gent"); } } public class testa { public static void main( String[] args ) { gent<? extends String> o; // 決定了泛型實例化對象只能是String類或它的子類 o = new gent<String>();//正確 o.test(); //o=new gent<Number>();//錯誤 } }
2 運行
gent
三 通配符在方法參數(shù)中使用
1 代碼
class gent<T> { public void test() { System.out.println("gent"); } } class supC { public String toString() { return "supA"; } } public class Bc extends supC { String b; public Bc( String b ) { this.b = b; } public String toString() { return "subB"; } // 指明泛型參數(shù)必須是supC或其子類 public void test( gent<? extends supC> o ) { System.out.println("Bc"); } public static void main( String[] args ) { Bc bc = new Bc("test"); gent<Bc> oGent = new gent<Bc>(); bc.test(oGent); // oGent 是supC的子類對象 } }
2 運行
Bc
更多java相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Java面向?qū)ο蟪绦蛟O(shè)計入門與進(jìn)階教程》、《Java數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Java操作DOM節(jié)點技巧總結(jié)》、《Java文件與目錄操作技巧匯總》和《Java緩存操作技巧匯總》
希望本文所述對大家java程序設(shè)計有所幫助。
相關(guān)文章
JDK源碼之線程并發(fā)協(xié)調(diào)神器CountDownLatch和CyclicBarrier詳解
我一直認(rèn)為程序是對于現(xiàn)實世界的邏輯描述,而在現(xiàn)實世界中很多事情都需要各方協(xié)調(diào)合作才能完成,就好比完成一個平臺的交付不可能只靠一個人,而需要研發(fā)、測試、產(chǎn)品以及項目經(jīng)理等不同角色人員進(jìn)行通力合作才能完成最終的交付2022-02-02spring-boot-starter-web更換默認(rèn)Tomcat容器的方法
Spring Boot支持容器的自動配置,默認(rèn)是Tomcat,當(dāng)然我們也是可以進(jìn)行修改的。下面小編給大家?guī)砹藄pring-boot-starter-web更換默認(rèn)Tomcat容器的方法,感興趣的朋友跟隨小編一起看看吧2019-04-04