
一、Java泛型1.1为什么使用泛型
- 【Java|Java基础的泛型你了解多少?】今天我们来了解一下泛型的优点与不足 。
- 使用泛型 , 可以使我们不必在进行类型强制转换 。
- 简化了我们的代码 , 但是我们需要考虑用哪一种类型才比较合适
- 让你的程序可读性更加 , 同时也更加的安全
- Java中通常使用变量E表示集合元素类型 , K和V分别表示键和值的类型 。 T表示\"任意类型\" 。
- 这也是泛型入门的基础 , 学会如何使用泛型 。
- 简单定义一个泛型的类
T age; //定义泛型变量 , 泛型T就相当于基本数据类型 。
T first; private T second; public Test1(T age) { this.age = age;
class B {
public static void main(String[
args) {
Test1<String> test1 = new Test1<>(\"13\");//这里就体现了泛型的灵活性 。 我们可以传入任意的类型 。
Test1<Integer> test2 = new Test1<>(15);
- 泛型方法
//我们可以传入任意类型的参数
1.3泛型的继承
- 如果我们要使用一个接口中的方法 , 那么我们可以利用泛型的继承来实现
a){ //这样就继承了Comparable的方法
//但是这里的T只能使用 实现了Comparable接口的类 。
- 你可能会好奇 , Comparable不是接口吗 , 为什么要用extends?反正都是这么用的 , 记住得了 。
- 我们可以使用\"&\"通配符继承多个<T extends Comparable & List>我们来讨论一个继承关系:
class Son extends Father { public static void main(String[
args) {
ArrayList<Father> list1 = new ArrayList<>();
ArrayList<Son> list2 = list1;//这是错误的:x:
//他们两个没有任何关系
1.4类型擦除
- 类型擦除就是将我们的Java代码 , 转换成普通代码 。
- 转换成它的顶级父类 。
- 了解吧
T age;
T first; //擦除后变成
Object age;
Object first;
1.5静态与捕获异常public static T test();//Error:x:
try{
catch(T e){ //不可以O
二、通配符概念
- 在通配符类型中 , 允许类型参数发生变化 。 Pair<? extends Employee>表示任何泛型Pair类型 , 它的类型参数是Employee的子类 , 如Pair, 但不是Pair。 这个是继承方面的 。
- 通配符的超类型限定:<? super Manager>表示为Manager的所有父类 。
- 无限定通配符:Pair<?>
- 额 。。。。 了解即可吧/(ㄒoㄒ)/~~
- 京东|裁员不忘膈应人,这家互联网大厂送的离职礼物恶心到我了!
- iPhone14|准大学生的数码装备推荐
- 有人觉得中暑就是热出来的,吃一些退烧药就好了,这种做法 蚂蚁庄园今日答案6月28日
- 浮甘瓜于清泉,沉朱李于寒水”描述的是什么场面 蚂蚁庄园今日答案6月28日
- 个头大的车厘子比小樱桃营养价值更高,对吗 蚂蚁新村6月28日答案最新
- 位于广东省阳江市的海陵岛自然资源丰富,景色优美,该岛没有 神奇海洋6月28日答案
- 哪种水果横着切开像星星的形状 蚂蚁庄园今日答案6月29日
- 为验证人类和黑猩猩,是否会产生新的后代,科学家找来5位姑娘!
- 喜马拉雅山出现的“雪人”是何生物?目击者:智商高、攻击性强
- 为什么科学家表示人类“灭绝”的可能性极低?这些理由你赞同吗?
