Java中的泛型

Posted Evan789

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java中的泛型相关的知识,希望对你有一定的参考价值。

1.什么是泛型?举例说明

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

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

3).Java语言引入泛型的好处是安全简单。

例:

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

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

2.为什么要在java中使用泛型?

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

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

3.什么是参数?如何使用参数?举例说明

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

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

4.为什么要使用泛型方法?如何使用泛型方法?举例说明

答:1).泛型方法使得该方法能够独立于类而产生变化。

2).要定义泛型方法,只需将泛型参数列表置于返回值之前

例:public <E>E getX(E x){

          Return x;

}

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

5.什么是泛型接口?举例说明

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

例:Public interface TestGenerics<T>{

Public T getT(T t);

Public String assume(T t);

}

6.什么是Comparable接口?举例说明

答:1).是泛型接口

Public interface Comparable<T>{

Public boolean comparableTo(T other);

}

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

例:public class String implements Comparable<String>{...}

以上是关于Java中的泛型的主要内容,如果未能解决你的问题,请参考以下文章

java如何获得泛型中的类

如何在 C# 的泛型中使用扩展

Java中的泛型的问题?

泛型中的类型擦除

泛型-类型擦除

java中的泛型T和?的差异性,学习了