教育行業(yè)A股IPO第一股(股票代碼 003032)

全國咨詢/投訴熱線:400-618-4000

泛型指的是什么?有什么作用?

更新時(shí)間:2021年08月26日10時(shí)02分 來源:傳智教育 瀏覽次數(shù):

好口碑IT培訓(xùn)

泛型是程序設(shè)計(jì)語言的一種特性。它允許程序員在使用強(qiáng)類型程序設(shè)計(jì)語言編寫代碼時(shí)定義一些可變部分這些可變部分在運(yùn)行前必須做出指明。在編程中用泛型來代替某個(gè)實(shí)際的類型,而后通過實(shí)際調(diào)用時(shí)傳人或推導(dǎo)的類型來對泛型進(jìn)行替換,以達(dá)到代碼復(fù)用的目的。在使用泛型的過程中,操作數(shù)據(jù)類型被指定為一個(gè)參數(shù),這種參數(shù)類型在類、接口和方法中,分別稱為泛型類、泛型接口、泛型方法。相對于傳統(tǒng)上的形參,泛型可以使參數(shù)具有更多類型上的變化,使代碼能更好地復(fù)用。例如下面這段代碼:

public class Box  private String value;     public void set (String value) {       this.value=value;    }public String get () {   return value;   }}
上述代碼中,定義了一個(gè)Box類,Box類中設(shè)置了一個(gè)Sring類型的數(shù)據(jù)。這時(shí)程序運(yùn)行起來是沒有問題的。但是,如果需要一個(gè)能設(shè)置Integer類型數(shù)據(jù)的類,這個(gè)時(shí)候只能重新創(chuàng)建一個(gè)類,把value改為Integer類型的??墒?,隨著業(yè)務(wù)不斷增加,需要設(shè)置越來越多數(shù)據(jù)類型的類,這樣會使工程變得越來越“笨重”,并且安全性和重用性都非常低。

泛型就能夠很好地解決上述問題。下面使用泛型改造Box類,具體代碼如下:

public class Box<T> {private T t;public void set (T t) {this.t=t;public T get () {return t;  }}


上述代碼中,Box類在定義時(shí)使用了“<I>”的形式,T表示此類型是由外部調(diào)用本類時(shí)指定的。這樣,在實(shí)例化類對象時(shí)可以傳入除基礎(chǔ)數(shù)據(jù)類型以外的任意類型數(shù)據(jù),使類具有良好的通用性。
在泛型中,T可以使用任意的字母代替,如“<A>”“<B>”。之所以使用“<T>”是因?yàn)門是type的縮寫,表示類型。







猜你喜歡:

Java培訓(xùn)之java難點(diǎn)解析(二十七)-泛型

Nginx的優(yōu)點(diǎn)有哪些?為什么Nginx這么火?

servlet的生命周期及servlet常用方法

Eclipse是什么意思?3分鐘了解Eclipse

傳智教育Java高級軟件工程師培訓(xùn)

0 分享到:
和我們在線交談!