备案 控制台
开发者社区 开发与运维 文章 正文

Java进阶:【泛型】认识泛型,泛型方法,泛型类,泛型接口和通配符(2)

简介: Java进阶:【泛型】认识泛型,泛型方法,泛型类,泛型接口和通配符(2)

泛型方法

什么是泛型方法,不是带泛型的方法就是泛型方法,泛型方法有要求:这个方法的泛型参数类型要和当前类的泛型方法的泛型无关

换个角度:泛型方法对应的那个泛型参数类型和当前所在的这个类,是否为泛型类,泛型是啥,无关

泛型方法定义的时候,前面要加上t,原因如果不加的话,会把t当作一种数据类型,然而代码中没有t类型那么就会报错

t的类型实在调用方法的时候确定的

泛型方法是否是静态方法?可以是

代码类型:

public class test02<e> {
    public  void a(e e){
    }
    public static <T>  void b(T t){
    }
static class Demo{
    public static void main(String[] args) {
        test02<String> t2 = new test02();
        t2.a("1");
        t2.b("abc");
    }
}


泛型参数存在继承的情况

前面两个引用类型,都可以赋值,为什么list不行?


其实我们用的Arraylist,他的底层是一个Obj类型的数组,我们的泛型负责在编译的时候限制类型,


例子:两个类,a,b两类,a是b的父类,两者是继承关系,但是 G ,G两者不存在继承关系,应为他们都是引用Arraylist所以是同级关系

1.png



通配符

当我想要重载不同泛型的list时,常见的重载无法让我们完成需求,于是我们需要通配符


在没有通配符的情况下,下面a方法,相当于重复定义

2.png


通配符是什么?

3.png



发现:两个类,a,b两类,a是b的父类,两者是继承关系,但是 G< a> ,G< b>两者不存在继承关系,应为他们都是引用Arraylist所以是同级关系但是使用了通配符后,我们发现G<?>变成了G< a> ,G< b>的父类


使用通配符

无边界通配符( ?),固定上边界通配符(?extends 上界类),固定下边界通配符(?super 下界类)


学习主要就是为了方便查看API文档


4.png


使用小细节


public  void  a(List<?> list){
//    遍历
    for (Object o : list) {
        System.out.println(o);
    }
//    数据的写入操作
//    list.add("abc");--》出错,不能随意的写入
//    读取操作
    Object s  = list.get(0);
}

泛型受限

并列关系,我们如何限制类型,


用extends的是本类和类所有的子类:定义上限

用super是本类和本类的父类,定义下限

5.png

       List<Object> a = new ArrayList<>();

       List<Person> b = new ArrayList<>();

       List<Student> c = new ArrayList<>();


A,B,C三个泛型的类型不相同,Person是Student的父类


冷环渊Doomwatcher
目录
相关文章
杭州小哥哥
|
2天前
|
Java
判断不为空和不为空串的方法java
判断不为空和不为空串的方法java
杭州小哥哥
10 0
杭州小哥哥
|
2天前
|
Java 开发者
Java中三种Set的实现类的用法和区别
Java中三种Set的实现类的用法和区别
杭州小哥哥
8 0
vohelon
|
2天前
|
消息中间件 安全 Java
在Spring Bean中,如何通过Java配置类定义Bean?
【4月更文挑战第30天】在Spring Bean中,如何通过Java配置类定义Bean?
vohelon
8 1
桃李春风一杯酒
|
2天前
|
Java API
【亮剑】Java的List,如何删除重复的元素,教你三个方法搞定!
【4月更文挑战第30天】本文介绍了三种Java中删除List重复元素的方法:1) 使用HashSet,借助其不允许重复值的特性;2) 利用Java 8 Stream API的distinct()方法;3) 对自定义对象重写equals()和hashCode()。每种方法都附带了代码示例,帮助理解和应用。
桃李春风一杯酒
5 1
魏慧
|
3天前
|
IDE Java 开发工具
基于Java程序设计的实验教学方法优化与实践
基于Java程序设计的实验教学方法优化与实践
魏慧
12 1
魏慧
|
3天前
|
Java
Java对象和类研究
Java对象和类研究
魏慧
7 0
喜欢猪猪
|
3天前
|
XML Java 测试技术
Java异常处理神器:Guava Throwables类概念与实战
【4月更文挑战第29天】在Java开发中,异常处理是保证程序稳定性和可靠性的关键。Google的Guava库提供了一个强大的工具类Throwables,用于简化和增强异常处理。本篇博客将探讨Throwables类的核心功能及其在实战中的应用。
喜欢猪猪
11 2
小谢在努力
|
3天前
|
存储 安全 Java
【Java EE】CAS原理和实现以及JUC中常见的类的使用
【Java EE】CAS原理和实现以及JUC中常见的类的使用
小谢在努力
8 3
shark-chili
|
4天前
|
存储 安全 Java
聊聊Java中的常用类String
聊聊Java中的常用类String
shark-chili
8 0
游客gy27fhrpaouum
|
4天前
|
Java
Java Scanner 类
4月更文挑战第21天
游客gy27fhrpaouum
13 2

热门文章

最新文章

  • 1
    Java中的多线程编程:概念、实现与性能优化
  • 2
    使用Redis进行Java缓存策略设计
  • 3
    Java语言开发的AI智慧导诊系统源码springboot+redis 3D互联网智导诊系统源码
  • 4
    基于 java + Springboot + vue +mysql 大学生实习管理系统(含源码)
  • 5
    Java 中文官方教程 2022 版(二十九)(2)
  • 6
    使用Java代码打印log日志
  • 7
    Java 中文官方教程 2022 版(二十八)(1)
  • 8
    Java 中文官方教程 2022 版(十四)(1)
  • 9
    Java 中文官方教程 2022 版(九)(2)
  • 10
    深入理解Java并发编程:线程安全与性能优化
  • 1
    Java 文件处理完全指南:创建、读取、写入和删除文件详细解析
    262
  • 2
    Java的语法基础
    17
  • 3
    Java的面向对象设计
    13
  • 4
    java的类加载过程
    12
  • 5
    java的常见算法
    10
  • 6
    JAVA字符串的基本操作
    14
  • 7
    JAVA一维数组
    19
  • 8
    JAVA跳转控制语句
    18
  • 9
    JAVA顺序结构
    12
  • 10
    JAVA数组的常用方法
    19
  • 相关课程

    更多
  • Java面试疑难点解析 - 面试技巧及语言基础
  • Java面试疑难点解析 - Java Web开发
  • Java面试疑难点解析 - 系统架构及项目设计
  • Java编程入门
  • Java面向对象编程
  • Java高级编程
  • 相关电子书

    更多
  • Spring Cloud Alibaba - 重新定义 Java Cloud-Native
  • The Reactive Cloud Native Arch
  • JAVA开发手册1.5.0
  • 相关实验场景

    更多
  • 阿里云平台上进行Java程序的编译与运行
  • 使用Java面向对象编写网络通信程序应用
  • Elasticsearch Java API Client 开发
  • 手动部署Java Web环境(Alibaba Cloud Linux 2)
  • 搭建Java Web开发环境(Anolis OS)
  • RocketMQ中使用Java客户端发送消息和消费的应用
  • 下一篇
    2024年阿里云免费云服务器及学生云服务器申请教程参考

    深圳SEO优化公司衡阳网站改版价格宝安网站搭建哪家好中山如何制作网站多少钱保山网站优化推广东营seo优化哪家好黄山至尊标王哪家好海西百度竞价多少钱贵港百度竞价包年推广焦作网站建设设计报价阿里设计公司网站哪家好保山关键词排名报价同乐网站seo优化价格沈阳关键词按天收费价格兰州网站定制公司承德seo优化哪家好铜仁百度关键词包年推广推荐黄南seo哪家好襄樊建网站哪家好霍邱如何制作网站阿坝网站制作设计公司泰安推广网站多少钱曲靖SEO按天扣费楚雄网站改版怒江百度网站优化多少钱白城营销型网站建设推荐滁州营销网站报价潍坊营销型网站建设哪家好昭通百姓网标王推广推荐长春百度竞价哪家好包头网站优化按天扣费价格歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

    深圳SEO优化公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化