抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >

泛型程序设计意味着编写的代码可以被多中种不同类型的对象所重用。

就是写一个东西,支持好多对象去使用。可简称广泛的类型。

泛型类

定义:一个泛型类就是具有一个或多个类型变量的类。

例如下面代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
public class Pair<T,U>{
private T first;
private U second;

public Pair(){
first=null;
second= null;
}
public Pair(T first, U second){
this.first=first;
this.second=second;
}

public T getFirst() {return first;}
public U getSecond(){return second;}

}

Pair类引入了两个类型变量T和U,用尖括号<>括起来,并放在类名后面。泛型类可以有一个或多个类型变量。类型变量名常用短大写形式。

实例化泛型类型:用具体的类型替换类型变量。如上述类:Pair(String,int) ,则所有的T转换为String类型、所有的U转换为int类型。

泛型方法

1
2
3
4
5
class ArrayAlg{
public static <T> T getMiddle(T …a){//注意类型变量所在的位置
return a[a.length/2];
}
}

泛型方法可以定义在泛型类中也可以定义在普通类中。调用时在方法名的尖括号内放入具体的类型。也可以不放,编译器自己能够推断出所调用的方法。eg: String middle = ArrayAlg.<String>getMiddle("~",……,"~")

类型变量的限定

…………


参考文档

  1. java核心技术 卷1
  2. 菜鸟教程

评论

Gitalk评论系统对接至Github Issue,随心评论🐾🐾.....