**在查看JDK源代碼的時(shí)候,常會(huì)發(fā)現(xiàn)如下幾種類型:?、T、Object、K、V、E,眾所周知,?代表的是不確定的Java類型,T代表實(shí)際使用之前就已經(jīng)確定的Java類型,Ojbect是所有類的基類,在強(qiáng)制轉(zhuǎn)換的時(shí)候,可以被頻繁使用,K和V表示的是key,value,E代表的是Element,Element是元素的意思,表示它是作為一個(gè)集合的元素。但是源碼中有的時(shí)候用的是E,有的時(shí)候用的是V,它們在表示單一的類型的時(shí)候有什么區(qū)別呢?比如:**1.Callable接口,為什么用的是V public interface Callable<V> { V call() throws Exception; }2.List接口中為什么使用Epublic interface List<E> { void add(E x); Iterator<E> iterator(); }得出的結(jié)論:V、E、T代表的是一種類型,并沒有實(shí)質(zhì)的區(qū)分。就好像在數(shù)學(xué)中,變量x y z都表示變量名,在同一環(huán)境下,區(qū)分開來是三個(gè)不同的變量。
Java源代碼中泛型的提問?
慕工程0101907
2019-03-13 14:15:34