日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

java定義受限制的類型參數(shù)操作

瀏覽:12日期:2022-08-26 13:02:56

有時(shí)您可能想限制可以在參數(shù)化類型中用作類型參數(shù)的類型。 例如,對(duì)數(shù)字進(jìn)行操作的方法可能只希望接受Number或其子類的實(shí)例。 這就是有界類型參數(shù)的用途。

受限制參數(shù)類型的方法示例

要聲明有界類型參數(shù),請(qǐng)列出類型參數(shù)的名稱,后跟extends關(guān)鍵字,然后是其上限,在本例中為Number

請(qǐng)注意,在這種情況下,extends通常用于表示“擴(kuò)展”(如在類中)或“實(shí)現(xiàn)”(如在接口中)。

package generics;/** * 定義受限制的方法 * * @author psdxdgK1DT * */public class Box<T> {private T t;public void set(T t) {this.t = t;}public T get() {return t;}/** * 通過(guò)修改我們的通用泛型方法以包含此有界類型參數(shù),現(xiàn)在編譯將失敗,因?yàn)槲覀儗?duì)inspect的調(diào)用仍包含String: * By modifying our generic method to include this bounded type parameter * compilation will now fail, since our invocation of inspect still includes a String: * inspect:單詞:檢查 * @param <U> * @param u */public <U extends Number> void inspect(U u) {System.out.println('T:' + t.getClass().getName());System.out.println('U:' + u.getClass().getName());}public static void main(String[] args) {Box<Integer> integerBox = new Box<Integer>();integerBox.set(new Integer('some text'));integerBox.inspect('some test');這里會(huì)出現(xiàn)預(yù)編譯錯(cuò)誤integerBox.inspect(10);}}

在顯示器上會(huì)出現(xiàn)紅色的波浪線表示編譯錯(cuò)誤

java定義受限制的類型參數(shù)操作

如果強(qiáng)行編譯則會(huì)報(bào)錯(cuò):

program run result:

Exception in thread “main” java.lang.Error: Unresolved compilation problem: The method inspect(U) in the type Box is not applicable for the arguments (String)

at generics.Box.main(Box.java:36)

譯文:

未解決的編譯錯(cuò)誤

Box類的inspect(U)方法不可應(yīng)用于(String)類型參數(shù)

使用受限類型參的類可調(diào)用受限邊界方法

除了限制可用于實(shí)例化泛型類型的類型外,有界類型參數(shù)還允許您調(diào)用在邊界中定義的方法:

//使用受限類型參數(shù)的類public class NaturalNumber<T extends Integer> { private T n; public NaturalNumber(T n) { this.n = n; } public boolean isEven() { return n.intValue() % 2 == 0; } // ...}

isEven方法通過(guò)n調(diào)用Integer類中定義的intValue方法。

多重受限邊界(Multiple Bounds)

The preceding example illustrates the use of a type parameter with a single bound, but a type parameter can have multiple bounds:

<T extends B1 & B2 & B3> A type variable with multiple bounds is a subtype of all the types listed in the bound. If one of the bounds is a class, it must be specified first. For example:

Class A { /* … / } interface B { / … / } interface C { / … */ }

class D <T extends A & B & C> { /* … */ } If bound A is not specified first, you get a compile-time error:

class D <T extends B & A & C> { /* … */ } // compile-time error

泛型算法

有界類型參數(shù)是實(shí)現(xiàn)泛型算法的關(guān)鍵??紤]下面的方法,該方法計(jì)算數(shù)組T[]中大于指定元素elem的元素?cái)?shù)。

public static <T> int countGreaterThan(T[] anArray, T elem) { int count = 0; for (T e : anArray) if (e > elem) // compiler error ++count; return count;}The implementation of the method is straightforward,but it does not compile because the greater than operator (>) applies only to primitive typessuch as short, int, double, long, float, byte, and char. You cannot use the > operator to compare objects. To fix the problem, use a type parameterbounded by the Comparable<T> interface:public interface Comparable<T> { public int compareTo(T o);}The resulting code will be:public static <T extends Comparable<T>> int countGreaterThan(T[] anArray, T elem) { int count = 0; for (T e : anArray) //因?yàn)檫@里的T是受限制的類型參數(shù),實(shí)現(xiàn)了Comparable接口,于是可以使用接口的方法compareTo if (e.compareTo(elem) > 0) ++count; return count;}

以上這篇java定義受限制的類型參數(shù)操作就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Java
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
欧美成人久久| 亚洲深夜影院| 国产精品亚洲产品| 视频在线观看一区| 综合激情在线| 日本强好片久久久久久aaa| 日韩av一区二区三区四区| 欧美日本不卡| 国产精品jk白丝蜜臀av小说| 国产精品va视频| 精品淫伦v久久水蜜桃| 国产一区二区三区四区| 国产aa精品| 欧美羞羞视频| 伊人久久大香线蕉av不卡| 色88888久久久久久影院| 亚洲福利专区| 免费精品视频| 日韩中文字幕av电影| 亚洲精品视频一二三区| 日韩激情一二三区| 精品国产乱码久久久久久樱花| 国产色播av在线| 美女一区网站| 香蕉久久国产| 国产精品三级| 亚洲精品**中文毛片| 国产韩日影视精品| 亚洲精品三级| 精品国产网站| 午夜国产精品视频| 日韩精品1区2区3区| 国产一区国产二区国产三区| 久久久久久夜| aⅴ色国产欧美| 日本中文字幕视频一区| 精品国产亚洲日本| 欧美日韩国产一区二区三区不卡 | 一区二区自拍| 日本强好片久久久久久aaa| 欧美丰满日韩| 蜜桃av一区二区在线观看| 免费看久久久| 国产婷婷精品| 欧美国产三级| 夜鲁夜鲁夜鲁视频在线播放| 一区二区精彩视频| 久久久久久网| 亚洲精品少妇| 亚洲成av在线| 视频一区中文字幕精品| 成人美女视频| 综合欧美精品| 亚洲四虎影院| 国产精品伊人| 国产婷婷精品| 欧美极品一区二区三区| 欧美在线综合| 色在线中文字幕| 午夜天堂精品久久久久| 91免费精品| 日韩高清在线一区| 欧美午夜精彩| 久久久精品区| 中文字幕日韩亚洲| 麻豆精品蜜桃| 国产美女久久| 六月婷婷一区| 欧美日韩高清| 美女国产精品久久久| 99国产成+人+综合+亚洲欧美| 免费一级欧美片在线观看网站 | 97精品中文字幕| 图片区亚洲欧美小说区| 精品五月天堂| 日韩av一区二区在线影视| 伊人精品一区| 国产一区日韩| 91欧美精品| 伊人久久成人| 日本一二区不卡| 国产精品99久久久久久董美香| 爽好久久久欧美精品| 日韩大片在线播放| 欧美激情综合| 日本在线一区二区三区| 亚洲高清毛片| 激情视频网站在线播放色| 中文字幕乱码亚洲无线精品一区| 久久久一二三| 精品三级国产| 国产精品久久久亚洲一区| 日日摸夜夜添夜夜添国产精品| 久久中文字幕av一区二区不卡| 精品视频自拍| 久久精品99国产精品| 亚洲一级大片| 久久午夜精品| 在线亚洲免费| 好吊日精品视频| 欧美一区二区性| 成人在线网站| 丝袜诱惑一区二区| 精品国产欧美日韩| 国产精成人品2018| 欧美日本精品| 91九色综合| 日本aⅴ亚洲精品中文乱码 | 999国产精品| 亚洲深夜视频| 日韩伦理一区| 视频福利一区| 人人精品亚洲| 欧美亚洲国产一区| 欧美丝袜一区| 欧美一区二区三区高清视频 | 欧美在线亚洲综合一区| 国精品一区二区三区| 亚洲性色av| 国产精品字幕| 99视频精品全国免费| 久久精品播放| 亚洲国产一区二区三区在线播放| 久久狠狠婷婷| 伊人久久婷婷| 一区二区三区国产盗摄| 男女性色大片免费观看一区二区| 天堂成人免费av电影一区| 国产模特精品视频久久久久| 免费视频久久| 日本一区免费网站| 国产美女撒尿一区二区| 麻豆精品在线视频| 国产福利片在线观看| 精品三级久久| 日韩视频久久| 亚洲三区欧美一区国产二区| 日本精品久久| 你懂的国产精品| 国产成人a视频高清在线观看| 日韩欧美二区| 激情婷婷久久| 免费人成在线不卡| 日韩成人一级| 久久精品福利| 久久激情中文| 亚洲一区免费| 日韩高清三区| 国产一区二区三区探花| 国产精品av久久久久久麻豆网| 亚洲自拍另类| 欧美另类中文字幕| 日韩1区在线| 亚洲成人日韩| 日韩激情啪啪| 黄色在线观看www| 91成人精品| 88久久精品| 97精品97| 亚洲欧美日韩视频二区| 国产日韩欧美一区在线| 亚洲黄色网址| 视频一区二区三区中文字幕| 国产精品一级| 久久人人97超碰国产公开结果| 欧美专区在线| 麻豆高清免费国产一区| 亚洲国产日韩欧美在线| 欧美日韩一区二区三区四区在线观看 | 久久亚洲在线| 亚洲另类黄色| 国内不卡的一区二区三区中文字幕| 激情欧美一区二区三区| 日本午夜免费一区二区| 日韩欧美一区二区三区免费看| 亚洲免费观看| 国产精品**亚洲精品| 一本一道久久a久久精品蜜桃| 国产精品亚洲四区在线观看| 精品一区在线| 欧美aⅴ一区二区三区视频| 免费国产自久久久久三四区久久| 国产亚洲字幕| 欧美日韩视频一区二区三区| 国产欧美日韩视频在线| 亚洲91精品| 国产欧美一级| 999在线观看精品免费不卡网站| 国产精品亲子伦av一区二区三区| 婷婷综合激情| 国产精品伊人| 爽好多水快深点欧美视频| 国产乱码午夜在线视频| 日韩精品免费一区二区夜夜嗨| 日韩在线不卡| 国产三级精品三级在线观看国产| 99在线精品免费视频九九视| 高清在线一区| 日本午夜精品久久久久| 午夜精品免费|