0%

泛型

前言:复习并总结一下java泛型

概念

泛型是JavaSE1.5的新特性,泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。这种参数类型可以用在类、接口和方法的创建中,分别称为泛型类、泛型接口、泛型方法。Java语言引入泛型的好处是安全简单。

一般泛型命名

  • E - Element (在集合中使用,因为集合中存放的是元素)
  • T - Type(Java 类)
  • K - Key(键)
  • V - Value(值)
  • N - Number(数值类型)

泛型标识

使用泛型必须要声明泛型标识

如C++

1
template <typename T>

Java

类名后声明的泛型,所有非静态方法都能使用声明的泛型标识

1
2
3
class 类名 <T>{

}

方法声明泛型标识,方法声明的泛型其他方法不能使用

1
2
3
4
5
6
7
public <T> void 方法名(T xx){

}

public <K> K 方法名(K xx){

}

代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
class Demo1{
/**
* 第一个<T> 声明泛型标识
* 第二个T 表示返回的是T类型的数据
* 第三个T 限制参数类型为T
* @param x
* @param <T>
* @return
*/
public <T> T xx(T x){
return x;
}
}

/**
* 第一个<T> 表示是泛型,当类声明泛型标识时,该类的中非静态方法就不用再声明泛型标识
* @param <T>
*/
class Demo2<T>{
/**
* 第一个T 表示返回的是T类型的数据
* 第二个T 限制参数类型为T
* @param x
* @return
*/
public T xx(T x){
return x;
}

// 静态方法必须自己声明泛型标识
public static <T> T xx(T x){
return x;
}
}
-------------本文结束感谢您的阅读-------------