Java-泛型集合基本知识点解析

  1. 泛型集合【重点-解决应用问题】:
    I. 概念:参数化类型、类型安全的集合,强制集合元素的类型必须一致。
    II. 特点:
    1). 编译时即可检查,而非运行时抛出异常。
    2). 访问时,不必类型转换(拆箱)。
    3). 不同泛型之间引用不能相互赋值,泛型不存在多态。
    ArrayList list = new ArrayList();
    list.add(10.0);
    List myList = new ArrayList();
    Vector vector = new Vector();
    vector.add(“ads”);
    LinkedList bools =new LinkedList();
    bools.add(true);
    bools.add(false);
    //引用约束 空间约束
    //参数化类型 。创建集合的时候规范当中能存储的数据类型

  2. 泛型:高级类别的知识,熟练应用,需要时间、经验的积累(常用名称:E = Element / E = Exception/T = Type / K = Key / V = Value 占位符)

I. 概念:约束-规范类型
II. 泛型的场景:
1). 定义泛型:
A). 实例泛型:
a). 类:创建对象时,为类所定义的泛型,进行参数化赋值
main(){ MyClass mc = new MyClass();
mc.m1(111);}
class MyClass{
public void m1(E e){ } }
b). 接口:实现接口时,为接口所定义的泛型,进行参数化赋值
main(){ MyInterface mi = new MyImplClass ();
mi.m2((byte)11);}
interface MyInterface{
public void m2(T t); }
class MyImplClass implements MyInterface{
@Override
public void m2(Byte t){ } }

B). 静态泛型:
a). 定义在方法的返回值类型前面:、、<T extends Comparable>、<T extends Comparable<? super T>> 可应用在形参列表、返回值两种场景上,不单单可以规范泛型,还可以语义化返回值。
b). 定义在方法的形参列表当中:<?>、<? extends Object>、<? super Integer>,不支持使用& 只能应用在形参列表上,规范泛型。
main(){
MyStaticClass.method(123); //Integer
MyStaticClass.method(1.3); //Double }
class MyStaticClass{
public static void method(T t){ }
public static void method(T t) }
//
main(){
MyStaticClass.method(new Dog());
MyStaticClass.method(new Cat()); //没有继承接口Comparable}
class MyStaticClass{
public static <T extends Animal & Comparable> void method(T[] t){//用作排序// 加上要求作比较} }
abstract class Animal()
class Dog extends Animal implements Comparable{
//实现Comparable接口 泛型
public int compareTo(Dog o){ return 0;}}
class Cat extends Animal{}
/

<?>可以作为参数的泛型要求,引用
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值