码迷,mamicode.com
首页 > 编程语言 > 详细

Java语言中的泛型

时间:2017-10-10 09:57:52      阅读:187      评论:0      收藏:0      [点我收藏+]

标签:其他   并且   表示   rabl   lis   代码   分包   指定   java语言   

一、泛型的概念及作用

  1、泛型的概念

    Java中的泛型是Java SE 1.5的新特性,泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。

    这种参数类型可以用在类、接口和方法的创建中,分别称为泛型类、泛型接口、泛型方法。  

    Java语言引入泛型的好处是安全简单

    例如:

    Class ArrayList<E>:声明一个泛型类ArrayList,其中E可以使用任意一个具体类型替代,泛型类型往往使用一个大写字母表示。

    Public boolean add(E o):E是泛型,也就是说,使用add方法时,可以为其传递任意一种类型的参数。其中此处的E是在类中定义的。

  2、泛型的作用

    Java中泛型的作用:简单安全

  在编译的时候检查类型安全,并且所有的强制转换都是自动和隐式的,提高代码的重用率

  消除代码中的强制类型转换,同时获得一个附加的类型检查层,该检查层可以防止有人将错误类型的值保存在集合中。

二、泛型类

  声明类名后使用<E>E可以是任何其他字母),即可以指定该类是一个泛型类;

  类型参数可以在该类中需要数据类型的地方使用,如属性声明、方法声明等。

    例如:

    public class Poot<E> {

       private E ota;

      public Poot(){

       }

       public E getOta() {

        return ota;

      }

      public void setOta(E ota) {

        this.ota = ota;

      }

三、泛型方法

  所有泛型方法声明都有一个类型参数声明部分(由尖括号分隔),该类型参数声明部分在方法返回类型之前(在下面例子中的<E>);

  例如:

  public <E> E getX(E x){

     return x;

  }

  每一个类型参数声明部分包含一个或多个类型参数,参数间用逗号隔开。一个泛型参数,也被称为一个类型变量,是用于指定一个泛型类型名称的标识符;

  类型参数能被用来声明返回值类型,并且能作为泛型方法得到的实际参数类型的占位符;

  泛型方法体的声明和其他方法一样。注意类型参数只能代表引用型类型,不能是原始类型(像int,double,char的等)。

    注意:是否拥有泛型方法,与其所在的类是否泛型没有关系。要定义泛型方法,只需将泛型参数列表置于返回值前。

四、泛型接口

  泛型接口,与泛型类完全相同

  Public interface  TestGenerics<T> {  

        Public T getT(T t);    

     Public String assume(T t);      

   }

  Comparable接口是泛型接口

    public interface Comparable<T> { 

      public boolean compareTo(T other);

     }

  Comparable 接口包含一个类型参数 T,该参数是一个实现 Comparable 的类可以与之比较的对象的类型。这意味着如果定义一个实现 Comparable 的类,比如 String,要声明它可与什么比较(通常是与它本身比较)。

  public class String implements Comparable<String> {

       ...

   }

 

Java语言中的泛型

标签:其他   并且   表示   rabl   lis   代码   分包   指定   java语言   

原文地址:http://www.cnblogs.com/kelly-zkp/p/7643704.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!