java泛型总结

1. 特点, 好处

java1.5后出现 包含1.5版本
泛型的出现 解决程序的安全性 保证程序的一致安全机制
使用泛型 避免了类型的强制类型转换 代码就简单
数据类型只能是 应用类型 不能使基本类型,且前后保持一致
泛型的 定义格式:

集合类<数据类型>变量 = new集合类<数据类型>();

2. 定义使用

1) 泛型类

这个<T>参数就可以接受任意类型
对该类创建对象时对泛型进行了定义 方法上 也必须遵从同一规则
如果类上不进行定义 直接使用该方法时候 有这个泛型的时候就可以传任意类型

<T extends Gou> 类泛型 不支持super关键字 继承写法不支持? 通配符

public class FanXing<T>{
}
2)泛型方法

需要在方法返回值前定义 参数的泛型 如下, 不可定义在返回值后
返回值前加泛型定义, 类上无定义时需要, 否则可以隐藏掉

public <T>void show(T t){
}
public class FanXing<T>{
    public void show(T t){
    }
}
3)泛型变量

不可设置static
泛型变量依赖泛型类, 类上无泛型则 变量报错
T cannot be resolved to a type

public class fanxingtest<T>{
    private List<T> list;
    private T t = null;
}

3. 关键字

java 提供的泛型例子

List<E>...
Set<E>... 等泛型控制类

1) super 关键字

下边界限定 父类限定符,
指 ArrayList 中只能够存放Dog的父类类型的数据
eg: 动物,object对象等其他父类对象(包含自己)。

List<? super Dog> list = new ArrayList<>();
list.add(动物);
list.add(哺乳动物)

2) extends关键字

上边界限定符
指 ArrayList只能够存放Dog的子类对象(包含自己)
eg: 二哈, 金毛, 德牧 等… 各种各样的狗

List<? extends Dog> list = new ArrayList<>();
list.add(金毛);
list.add(哈士奇)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值