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齐的博客!