中文字幕日韩精品一区二区免费_精品一区二区三区国产精品无卡在_国精品无码专区一区二区三区_国产αv三级中文在线

java泛型中的上界和下界是什么-創(chuàng)新互聯(lián)

本篇文章給大家分享的是有關(guān)java泛型中的上界和下界是什么,小編覺得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來自于我們對這個(gè)行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價(jià)值的長期合作伙伴,公司提供的服務(wù)項(xiàng)目有:域名申請、虛擬空間、營銷軟件、網(wǎng)站建設(shè)、郟縣網(wǎng)站維護(hù)、網(wǎng)站推廣。

泛型中上界和下界的定義

上界 <? extend Fruit>

下界 <? super Apple>

上界和下界的特點(diǎn)

上界的list只能get,不能add(確切地說不能add出除null之外的對象,包括Object)

下界的list只能add,不能get

import java.util.ArrayList;
import java.util.List;
 
class Fruit {}
class Apple extends Fruit {}
class Jonathan extends Apple {}
class Orange extends Fruit {}
 
public class CovariantArrays {
  public static void main(String[] args) {
	//上界
    List<? extends Fruit> flistTop = new ArrayList<Apple>();
    flistTop.add(null);
    //add Fruit對象會(huì)報(bào)錯(cuò)
    //flist.add(new Fruit());
    Fruit fruit1 = flistTop.get(0);
 
	//下界
    List<? super Apple> flistBottem = new ArrayList<Apple>();
    flistBottem.add(new Apple());
    flistBottem.add(new Jonathan());
    //get Apple對象會(huì)報(bào)錯(cuò)
    //Apple apple = flistBottem.get(0);
  }
}

這些特點(diǎn)的原因

上界 <? extend Fruit> ,表示所有繼承Fruit的子類,但是具體是哪個(gè)子類,無法確定,所以調(diào)用add的時(shí)候,要add什么類型,誰也不知道。但是get的時(shí)候,不管是什么子類,不管追溯多少輩,肯定有個(gè)父類是Fruit,所以,我都可以用大的父類Fruit接著,也就是把所有的子類向上轉(zhuǎn)型為Fruit。

下界 <? super Apple>,表示Apple的所有父類,包括Fruit,一直可以追溯到老祖宗Object 。那么當(dāng)我add的時(shí)候,我不能add Apple的父類,因?yàn)椴荒艽_定List里面存放的到底是哪個(gè)父類。但是我可以add Apple及其子類。因?yàn)椴还芪业淖宇愂鞘裁搭愋?,它都可以向上轉(zhuǎn)型為Apple及其所有的父類甚至轉(zhuǎn)型為Object 。但是當(dāng)我get的時(shí)候,Apple的父類這么多,我用什么接著呢,除了Object,其他的都接不住。

所以,歸根結(jié)底可以用一句話表示,那就是編譯器可以支持向上轉(zhuǎn)型,但不支持向下轉(zhuǎn)型。具體來講,我可以把Apple對象賦值給Fruit的引用,但是如果把Fruit對象賦值給Apple的引用就必須得用cast

以上就是java泛型中的上界和下界是什么,小編相信有部分知識(shí)點(diǎn)可能是我們?nèi)粘9ぷ鲿?huì)見到或用到的。希望你能通過這篇文章學(xué)到更多知識(shí)。更多詳情敬請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

文章題目:java泛型中的上界和下界是什么-創(chuàng)新互聯(lián)
文章路徑:http://www.rwnh.cn/article2/csehic.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供電子商務(wù)網(wǎng)站排名、品牌網(wǎng)站建設(shè)、營銷型網(wǎng)站建設(shè)動(dòng)態(tài)網(wǎng)站、云服務(wù)器

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

營銷型網(wǎng)站建設(shè)
阿巴嘎旗| 广东省| 盖州市| 富宁县| 孝感市| 凌云县| 仙居县| 盘山县| 新安县| 商城县| 兰西县| 石嘴山市| 闽清县| 博乐市| 临海市| 乌海市| 苏尼特右旗| 桐梓县| 华容县| 兖州市| 鄂尔多斯市| 西和县| 博罗县| 岳阳县| 冕宁县| 广宗县| 金华市| 和田市| 格尔木市| 临漳县| 紫阳县| 丘北县| 克拉玛依市| 兴隆县| 栖霞市| 石家庄市| 婺源县| 彭州市| 溆浦县| 沽源县| 光山县|