UM2L13——Java泛型
UM2L13——Java泛型
Java泛型
Java 中泛型使用的基本规则和 C# 中一致 (注意!泛型在 java 底层的实现和 C# 完全不同) ,
泛型可以代表一切类型,主要使用上就是泛型类和泛型方法,主要区别如下:
- 泛型方法写法和使用不同
 - 泛型约束不同
 - 泛型类型通配符 
? - 一些基础类型必须写他们的包装类名,不能写变量类型(例如 
int 就需要写Integer) 
泛型基本用法
泛型类的声明和使用如下:
1  | public class TestT<T> {  | 
1  | public class Lesson16 {  | 
输出:
1  | 15.0  | 
注意!Java 中的泛型方法声明与 C# 不同,Java 的泛型方法的
<> 是写到访问修饰符后面的!
1  | public class TestT<T> {  | 
而调用泛型方法时,Java 是不能传入泛型参数的,因此直接传入参数即可
1  | public class Lesson16 {  | 
输出:
1  | 123  | 
Java 的泛型限制(泛型约束)
泛型限制写法:泛型类名称<T extends 类名或接口名>
Java 的泛型限制只能表示泛型类型必须是或者继承某一个类或接口
1  | public class TestT<T extends Father> {  | 
1  | public class Lesson16 {  | 
泛型中的类型通配符 ?
泛型中的类型通配符写法:泛型类名称<? extends 类名> 变量名 = null;
? extends 类名,表示类未知,需要使用该泛型对象时,可以单独实例化
1  | public class Lesson16 {  | 
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 文KRIFE齐的博客!
