<span id="35v3v"><th id="35v3v"></th></span>
<address id="35v3v"></address>

    <address id="35v3v"></address>
      <address id="35v3v"><listing id="35v3v"><meter id="35v3v"></meter></listing></address>
        <listing id="35v3v"><listing id="35v3v"></listing></listing>

        <listing id="35v3v"><listing id="35v3v"><menuitem id="35v3v"></menuitem></listing></listing>

        <noframes id="35v3v"><noframes id="35v3v">
        當前位置: 首頁 / 技術分享 / 正文
        泛型概述

        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號

        黑人100部Av解禁片
        <span id="35v3v"><th id="35v3v"></th></span>
        <address id="35v3v"></address>

          <address id="35v3v"></address>
            <address id="35v3v"><listing id="35v3v"><meter id="35v3v"></meter></listing></address>
              <listing id="35v3v"><listing id="35v3v"></listing></listing>

              <listing id="35v3v"><listing id="35v3v"><menuitem id="35v3v"></menuitem></listing></listing>

              <noframes id="35v3v"><noframes id="35v3v">