• JAVA泛型类


    泛型是JDK 5.0后出现新概念,泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。这种参数类型可以用在类、接口和方法的创建中,分别称为泛型类、泛型接口、泛型方法。

    泛型类引入的好处不仅在于减少代码量,还在于一提供了编译时期数据类型的检查功能,可以提前预知错误的发生,增加代码安全性,二是减少了强制类型转换。下面定义一个泛型类

     Example GenericFX.java

     package org;

     public class GenericFX<E>

    {

         private E fx;

        

         public void setFX(E fx)

        {

             this.fx = fx;

        }

     

         public E getFX()

         {

             return fx;

         }

    }

    在此例中,GenericFX类就是要定义的泛型类,类型变量E是泛型类的类型参数,我们可以使用GenericFX<E>这样的类型名来声明一个泛型类。如

    GenericFX<E>  fx  = new GenericFX<E>(),其中E就是具体的类型, 下面看一个应用泛型类的例子.

     Example GenericFXDemo.java

     package org;

     public class GenericFXDemo

    {

         public void main(String[] args)

         {

             GenericFX<Integer>  f1 = new GenericFX<Integer>(); 

             GenericFX<Boolean>  f2 = new GenericFX<Boolean>();      

            

             f1.setFX(new Integer(10));

             System.out.println(f1.getFX());//

           

             f2.setFX(new Boolean(true));

             System.out.println(f2.getFX());//

         }

    }

    可以看到,f1,f2都是同一泛型类的对象引用,在取得不同参数类型对象时,已不需要实行类型转换.

    如果像这样修改一下代码,放进去Integer,取出来Boolean是不允许这样的!!!

    f1.setFX(new Integer(10));

    Boolean  b = f1.getFX();

    System.out.println(b);   这里编译就会报错,告诉你这不安全.

    泛型类可以定义多个类型参数,像GenericFX<E,F>就要两个类型参数。但是,无论有多少个类型参数,泛型仍然只需要一个类。如上GenericFX<Integer> GenericFX<Boolean>都属于同一个泛型类GenericFX,f1,f2都只是该泛型类的一个应用,当然单一的GenericFX类是不能称为泛型类的,必须要有<>和类型参数才可以,而像fx只是泛型类的成员变量。

  • 相关阅读:
    最短路径算法
    XMLhelper
    关于NuDaqPci 数据采集
    批处理常用命令及用法大全
    c#智能感知(设置)及实现
    单片机串行通信全解析
    Esp8266
    使用NOOBS给树莓派安装系统Raspbian
    命令提示符编译java
    javaWeb使用POI操作Excel
  • 原文地址:https://www.cnblogs.com/baoendemao/p/3804798.html
Copyright © 2020-2023  润新知