freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

java泛型-java參數(shù)化類型-全文預(yù)覽

2024-09-10 16:23 上一頁面

下一頁面
  

【正文】 telliJ IDEA. User: leizhimin Date: 2007918 Time: 11:08:14 使用通配符泛型參數(shù):泛型參數(shù)是可變的,可在運(yùn)行時來確定。 Float[] fArr = { , }。 double intavg = (intArr)。 } return sum / 。public class AvgGenT extends Number { public AvgGen() { } public double getAvg(T[] arr) { double sum = 。} showXYZ(fdlocs)。190. (Contents188. new23,FourD(22,8,3,{ = new9),TwoD(0,td[]args[])public179. 178. [i].t)。+++=Yc)void()。168. ++=Yc)void()。160. i++)(intCoordinates:)。{ static{ */*150. } public145. T[]{ 143. class存放泛型坐標(biāo)的(數(shù)據(jù)結(jié)構(gòu))類 136. y,t)y,public133. int{ 131. class129. } 128. =y)。z)x,125. 123. extends121. } 117. intint{ 16:09:37leizhiminby110. /** 108. } 107. +105. +(douObj與fltObj的值相等,結(jié)果為:((fltObj)) ())。100. intObj的均值=fltObj的均值=+() + +(intArr與douArr的值不相等,結(jié)果為:else92. +90. = { = { = {{ static74. *主函數(shù):用來測試 71. false。true。if65. sameAvg(AvgCompGen?64. *目標(biāo)對象 *AvgCompGen?表示可以匹配任意的AvgCompGen對象,有點(diǎn)類似Object 58. } arr[i].doubleValue()。53. 0。for52. sumgetAvg()50. * 47. 45. } public*/arr */** 35. T[]AvgCompGenT*/11:08:14leizhiminby30. /** 28. } 27. favgAvgGenFloat()。AvgGenFloat24. fArr(浮點(diǎn)型數(shù)組{,}求均值:)。22. (intArr)。= {{ static/} 9. +i++)(int={ public4. 3. public{ class 通配符泛型不單可以向下限制,如? extends Collection,還可以向上限制,如? super Double,表示類型只能接受Double及其上層父類類型,如Number、Object類型的實例。 listFoo=new CollectionGenFooArrayList(new ArrayList())。 ArrayList())。 Collection//現(xiàn)在不會出錯了 6. new CollectionGenFooArrayList3. main(String那么上面實現(xiàn)的方式可以寫為: 查看復(fù)制到剪切板打印1. public }}當(dāng)前看到的這個寫法是可以編譯通過,并運(yùn)行成功。 //出錯了,不讓這么干。12. } 9. CollectionGenFooArrayList(newnull。 ArrayList())。listFoo4. ={ staticCollectionGenFooDemo } public T getX() { return x。15. } void11. { } 6. =x) x。{ class只需要這么做: class GenericsFooT extends Collection,這樣類中的泛型T只能是Collection接口的實現(xiàn)類,傳入非Collection接口編譯會出錯。比如:GenericsFoo douFoo=new GenericsFoo(new Double(33))。class GenericsFooT 聲明了一個泛型類,這個T沒有任何限制,實際上相當(dāng)于Object類型,實際上相當(dāng)于 class GenericsFooT extends Object。 (=+())。 GenericsFooDouble douFoo=new GenericsFooDouble(new Double(33))。 public GenericsFoo(T x) { = x。(=+())。25. Object())。douFoo=newGenerics!)。staticGenericsFooDemo x。{ public12. x。getX() 5. GenericsFoo(T3. TGenericsFooT否則,要是轉(zhuǎn)換的類型不對,比如將“Hello Generics!”字符串強(qiáng)制轉(zhuǎn)換為Double,那么編譯的時候不會報錯,可是運(yùn)行的時候就掛了。 (=+(Double)())。public class ObjectFooDemo { public static void main(String args[]) { ObjectFoo strFoo = new ObjectFoo(Hello Generics!)。} 10. 6. ObjectFoo(newObjectFoo5. ObjectFoo(newObjectFoo4. ObjectFoo(HelloObjectFoo3. main(String }}寫出Demo方法如下: 查看復(fù)制到剪切板打印1. publicpublic class ObjectFoo { private Object x。} 14. =x)} 10. return9. Object7. public4. private2. class } public void setX(Double x) { = x。 } public void setX(String x) { = x。29. setX(Double public24. x。{ 17. public13. setX(String public8. x。{ 查看復(fù)制到剪切板打印1. public }}運(yùn)行結(jié)果:兩個例子運(yùn)行Demo結(jié)果是相同的,控制臺輸出結(jié)果如下: T的實際類型是: value= 88T的實際類型是: value= Hello Gen! Process finished with exit code 0 補(bǔ)充:實際上泛型可以用得很復(fù)雜,復(fù)雜到編寫代碼的人員自己也難以看懂。 //定義類Gen2的一個String版本 Gen2 strOb = new Gen2(Hello Gen!)。 ()。 } public Object getOb() { return ob。38. } (value=36. (String) =//定義類Gen2的一個String版本 32. i)。= Integer(88))。intObvoid{ ().getName())。public16. ob。{ public12. ob。getOb() 5. Gen2(Object3. }}例二:沒有使用泛型時:查看復(fù)制到剪切板打印1. public //定義泛型類Gen的一個String版本 GenString strOb=new GenString(Hello Gen!)。 ()。 } public T getOb() { return ob。37. } (value=35. String34. strOb=new 28. + main(String[]21. publicshowTyep() 13. setOb(T public8. ob。{ //定義泛型成員變量 ob。{ 例如Class? classType = ()。 泛型的類型參數(shù)可以有多個。對于強(qiáng)制類型轉(zhuǎn)換錯誤的情況,編譯器可能不提示錯誤,在運(yùn)行的時候才出現(xiàn)異常,這是一個安全隱患。Java泛型資料一:泛型是JAVA SE ,泛型的本質(zhì)是參數(shù)化類型,也就是說所操作的數(shù)據(jù)類型被指定為一個參數(shù)。在JAVA SE ,沒有泛型的情況的下,通過對類型Object的引用來實現(xiàn)參數(shù)的“任意化”,“任意化”帶來的缺點(diǎn)是要做顯式的強(qiáng)制類型轉(zhuǎn)換,而這種轉(zhuǎn)換是要求開發(fā)者對實際參數(shù)類型可以預(yù)知的情況下進(jìn)行的。 同一種泛型可以對應(yīng)多個版本(因為參數(shù)類型是不確定的),不同版本的泛型類實例是不兼容的。 泛型的參數(shù)類型還可以是通配符類型。GenTT ob)=6. } { 11. void 15. void17. (T的實際類型是: 19. } { void23. //定義泛型類Gen的一個Integer版本 GenInteger(88)。 ()。29. ()。 32. GenString s)。 //定義泛型成員變量 public Gen(T ob) { = ob。 }} public class GenDemo { public static void main(String[] args){ //定義泛型類Gen的一個Integer版本 GenInteger intOb=new GenInteger(88)。 ()。 (value= + s)。{ ob。4. public 7. Object9. return10. } ob)=14. } { +18. } 20. GenDemo2static{ 25. Gen2Gen2(new26. ()。i +29. strObGen!)。 =s)。 //定義一個通用類型成員 public Gen2(Object ob) { = ob。 }} public class GenDemo2 { public static void main(String[] args) { //定義類Gen2的一個Integer版本 Gen2 intOb = new Gen2(new Integer(88))。 ()。 (value= + s)。一、逐漸深入泛型沒有任何重構(gòu)的原始代碼:有兩個類如下,要構(gòu)造兩個類的對象,并打印出各自的成員x。{ x。 x)=6. } { 11. void 15. } { x。 x)=22. } { 27. void 31. }
點(diǎn)擊復(fù)制文檔內(nèi)容
規(guī)章制度相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1