這篇文章給大家分享的是有關(guān)java泛型常用通配符的示例分析的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
在成都做網(wǎng)站、網(wǎng)站建設(shè)、外貿(mào)營銷網(wǎng)站建設(shè)過程中,需要針對客戶的行業(yè)特點(diǎn)、產(chǎn)品特性、目標(biāo)受眾和市場情況進(jìn)行定位分析,以確定網(wǎng)站的風(fēng)格、色彩、版式、交互等方面的設(shè)計(jì)方向。創(chuàng)新互聯(lián)建站還需要根據(jù)客戶的需求進(jìn)行功能模塊的開發(fā)和設(shè)計(jì),包括內(nèi)容管理、前臺展示、用戶權(quán)限管理、數(shù)據(jù)統(tǒng)計(jì)和安全保護(hù)等功能。
?表示通配符,表示的意思是匹配E或E的子類,具體類型未知。
1.限定通配符
編寫一個類似于ArrayList的動態(tài)數(shù)據(jù)
public class Gys{ private final static int default_capacity =10; private int endIndex =0; private Object[] elemts; public Gys() { this.elemts = new Object[default_capacity]; } public void add(T t){ if(elemts.length-1< endIndex){ int newCapcti= default_capacity *2; elemts= Arrays.copyOf(elemts,newCapcti); } elemts[endIndex++]=t; } public void addAll(Gys cs){ for(int i=0;i gys=new Gys<>(); gys.add(25); Gys gys2=new Gys<>(); gys2.add(2); gys.addAll(gys2); } }
修改上面的代碼,將addAll參數(shù)改成如下
public void addAll(Gys extend T> cs){ for(int i=0;i這個時候代碼編譯通過了。并且能夠正常的訪問其中的元素。
2.無限定通配符。
改寫上面的addAll方法代碼。
public void addAll(Gys> cs){ for(int i=0;i上面的代碼編譯不通過。?表示類型不確定,從安全角度考慮無限定的泛型,無法進(jìn)行寫操作。
但是可以這樣使用。/** *判斷元素是否存在 */ public boolean isHas(Gys> gys,Object elemt){ for(int i=0;i除了 extend E>用法;還有 super E>的用法,表示類型是E或E的父類。不過多介紹了,用的少。
感謝各位的閱讀!關(guān)于“java泛型常用通配符的示例分析”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
名稱欄目:java泛型常用通配符的示例分析
網(wǎng)頁網(wǎng)址:http://weahome.cn/article/gedhdi.html