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

Java基础之泛型

时间:2015-06-04 08:40:36      阅读:142      评论:0      收藏:0      [点我收藏+]

标签:

泛型,宽泛的数据类型”

可以接受任意类型(类)的数据。


■泛型定义(类和接口)

类型参数必须是一个合法的标识符,习惯上使用单个大写字母,通常情况下,K 表示键,V 表示值,E 表示异常或错误,T 表示一般意义上的数据类型。

例:class Point<TX, TY>


■泛型变量

泛型类在实例化时必须指出具体的类型,也就是向类型参数。

例:

TX x;

TX y;


■泛型实例化

Point<Integer, Integer> p = new Point<Integer, Integer>();

类型擦除

Point p = new Point();


■泛型方法

class UTest {

    public <TX, TY> TX print(TX x, TY y)


public class Point<TX, TY> {

    public TX print(TX x, TY y) {


■泛型继承

public <TSB extends T1> T getMax(T array[]){


■泛型通配符(?)

为了避免类型擦除,可以使用通配符(?):

public void print(Point<?, ?> p) {

? extends T 表示泛型的类型参数只能是 T 及其子类,这与定义泛型类或泛型方法时泛型继承类似。

使用通配符(?)不但可以限制类型的上限,还可以限制下限。限制下限使用 super 关键字,例如 <? super TSB> 表示只能接受 TSB 及其父类。


Java基础之泛型

标签:

原文地址:http://my.oschina.net/u/660460/blog/424567

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