表示類型的上界,也就是說參數(shù)化的類型可能是T或者T的子類。例如:下面的寫法都是合法的賦值語句:

(1)在上面的賦值顯示中,對(duì)讀數(shù)據(jù)進(jìn)行分析
1)不管給List如何賦值,可以保證List里存放的一定是Number類型或其子類型,因此,可以從list列表里讀取Number類型的值。
2)不能從list中讀取Integer,因?yàn)閘ist里面可能存放的是Float值,同理也不可以從里面讀取Float。
(2)對(duì)數(shù)據(jù)進(jìn)行分析
不能向list中寫Number,因?yàn)長(zhǎng)ist中有可能存放的是Float;
不能向list中寫Integer,因?yàn)長(zhǎng)ist中有可能存放的是Float;
不能向list中寫Float,因?yàn)閘ist中有可能存放的事Integer;
從上面的分析可以發(fā)現(xiàn),只能從List讀取T,因?yàn)闊o法確定他實(shí)際指向列表的類型,從而無法確定列表里存放的實(shí)際的類型。所以,無法向列表里添加元素。
表示下界,也就是說參數(shù)化的類型是此類型的超類型(父類型)。

被設(shè)計(jì)為用來寫數(shù)據(jù)的泛型(只能寫入T或T的子類型),不能用來讀,分析如下:
(1)讀數(shù)據(jù):
無法保證list里面一定存在的是Float類型或者Number類型,因?yàn)橛锌赡艽娣诺氖荗bject類型,唯一能確定的是list里面存放的是Object類型及其子類,但是無法確定具體的子類的類型。正是由于無法確定list里面存放的數(shù)據(jù)類型,因此無法從list里面讀取數(shù)據(jù)。
(2)寫數(shù)據(jù):
1)可以向list中寫入float類型的數(shù)據(jù),同理也可以向list里面添加Float子類類型的數(shù)據(jù);
2)不可以向list里面添加Number或Object類型的數(shù)據(jù),因?yàn)閘ist中可能存放的是Float類型的數(shù)據(jù)。

本文來自博客園,作者:{不二一哥},轉(zhuǎn)載請(qǐng)注明原文鏈接:http://www.rzrgm.cn/yige888/p/17995311
浙公網(wǎng)安備 33010602011771號(hào)