當前位置: 首頁 / 技術分享 / 正文
泛型概述

2022-12-22

類型 泛型 value 數據

  泛型概述

  泛型是指定一個表示類型的變量,即“參數化類型”。在編程中用泛型來代替某個實際的類型,而后通過實際調用時傳入或推導的類型來對泛型進行替換,以達到代碼復用的目的。在使用泛型的過程中,操作數據類型被指定為一個參數,這種參數類型在類、接口和方法中,分別稱為泛型類、泛型接口、泛型方法。

  相對于傳統上的形參,泛型可以使我們的參數具有更多類型上的變化,使代碼能更好地復用。例如下面這段代碼。 

Java
public class Box {
  private String value;
  
  public void setValue(String value) {
    this.value = value;
  }
  
  public String getValue() {
    return value;
  }
}

  上述代碼中,定義了一個Box類,Box類中設置了一個String類型的數據。這時程序運行起來是沒有問題的。但是,如果我們又需要一個能設置Integer類型數據的類,這個時候我們只能重新創建一個類,把value屬性的數據類型改為Integer類型的??墒?,隨著業務不斷增加,我們需要設置越來越多數據類型的類,這樣會使得工程變得越來越“笨重”,并且安全性和重用性都非常低。

  泛型就能夠很好的解決上述問題。接下來,使用泛型改造Box類,具體代碼如下所示。  

Java
public class Box<T> {
  private T value;
  
  public void setValue(T value) {
    this.value = value;
  }
  
  public T getValue() {
    return value;
  }
}

   上述代碼中, Box類在定義時使用了的形式,T表示此類型是由外部調用本類時指定的。這樣,在實例化類對象時可以傳入除基礎數據類型以外的任意類型數據,使類具有良好的通用性。

  在泛型中,T可以使用任意的字母代替,如<A>、<B>。之所以使用是因為<T>是type的縮寫,表示類型。

分享: 更多

上一篇:Properties集合

下一篇:

好程序員公眾號

  • · 剖析行業發展趨勢
  • · 匯聚企業項目源碼

好程序員開班動態

More+
  • HTML5大前端 <高端班>

    開班時間:2021-04-12(深圳)

    開班盛況

    開班時間:2021-05-17(北京)

    開班盛況
  • 大數據+人工智能 <高端班>

    開班時間:2021-03-22(杭州)

    開班盛況

    開班時間:2021-04-26(北京)

    開班盛況
  • JavaEE分布式開發 <高端班>

    開班時間:2021-05-10(北京)

    開班盛況

    開班時間:2021-02-22(北京)

    開班盛況
  • Python人工智能+數據分析 <高端班>

    開班時間:2021-07-12(北京)

    預約報名

    開班時間:2020-09-21(上海)

    開班盛況
  • 云計算開發 <高端班>

    開班時間:2021-07-12(北京)

    預約報名

    開班時間:2019-07-22(北京)

    開班盛況
在線咨詢
試聽
入學教程
立即報名

Copyright 2011-2023 北京千鋒互聯科技有限公司 .All Right 京ICP備12003911號-5 京公網安備 11010802035720號

美女裸体黄网站18禁免费_美女裸体黄网站啪啪18禁_美女裸体黄污18禁网站免费下载