(六)泛型

本文介绍了Java中泛型的概念及使用方法,包括在集合、自定义类与接口中的运用,以及泛型方法的实现。此外,还探讨了泛型与继承的关系,并列举了一些使用泛型时需要注意的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、引言

泛型定义的是一种类的约束关系,它表示的类要么自己写出,要么编译器可以推算得出。

二、泛型的使用

  • 集合中使用泛型
//定义Map的键值对数据类型
Map<Person,Integer> map = new TreeMap<>();
//定义Entry的数据类型
Set<Map.Entry<Person, Integer>> set2=map.entrySet();
  • 自定义泛型类,泛型接口:

    1.定义类,接口时可使用泛型< >,如

    class A<T>{
    }
    class B extends A<String>{
    }

    2.如实例化是没指定泛型类型,则默认Object
    3.继承泛型类和泛型接口时,可指定泛型类型,也可不指定

  • 泛型方法:
    调用方法时,通过输入参数决定方法返回值类型

    public <E> E get(E e){}
    public <T> List<T> fromArrayToList(T[ ] t,List<T> list)
  • 泛型与继承的关系
    集合间为并列关系,其共同父类为使用通配符“?”的集合类
  • 通配符

    List<?>
    <? extends A>: A及其子类
    <? super A> : A及其父类

注意几点:
1.不可在静态方法中使用泛型,因为泛型随着对象的创建确定
2.不可在catch(E e)中使用泛型
3.可以读取声明为通配符的集合类的对象(以Object方式读),但不能写入(唯一例外:null)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值