<strong id="8cmf8"><pre id="8cmf8"></pre></strong><progress id="8cmf8"><track id="8cmf8"></track></progress>

<button id="8cmf8"><object id="8cmf8"></object></button>

    <button id="8cmf8"><acronym id="8cmf8"></acronym></button>

  1. <button id="8cmf8"><acronym id="8cmf8"></acronym></button>

        当前位置: 首页 / 技术分享 / 正文
        泛型概述

        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(北京)

          开班盛况
        IT培训IT培训
        在线咨询
        IT培训IT培训
        试听
        IT培训IT培训
        入学教程
        IT培训IT培训
        立即报名
        IT培训

        Copyright 2011-2023 北京千锋互联科技有限公司 .All Right 京ICP备12003911号-5 京公网安备 11010802035720号

        国产三级片在线视频
        <strong id="8cmf8"><pre id="8cmf8"></pre></strong><progress id="8cmf8"><track id="8cmf8"></track></progress>

        <button id="8cmf8"><object id="8cmf8"></object></button>

          <button id="8cmf8"><acronym id="8cmf8"></acronym></button>

        1. <button id="8cmf8"><acronym id="8cmf8"></acronym></button>