泛型的super和extends
发表于|更新于
|浏览量:
每个人都不是一座孤岛,一个人必须是这世界上最坚固的岛屿,然后才能成为大陆的一部分。——海明威
今天群友问我,泛型的super和extends区别
我相信,看了这张图你应该能理解

这里第一个list中,使用的泛型为extends,我们发现无法写入,只能读取
第二个list1中使用的super,发现只能写入,无法读取到准确的泛型
综上所述
extends只读不写
super只写不读
相关推荐
2023-01-06
升级mp新版本后,service里removeByIds主键类型不一致报错
先谋后事者逸,先事后图者失。——陈子昂 场景: 主键类型是Integer,使用service中removeByIds,传入List<String>报错 MP用的mybatis的反射,只需要在表信息初始化后,获取反射的缓存map,往里面放入我们自定义的转换操作即可 代码如下: 12345678910111213141516171819202122232425262728293031323334353637383940414243import com.baomidou.mybatisplus.autoconfigure.MybatisPlusAutoConfiguration;import com.baomidou.mybatisplus.core.metadata.TableInfo;import com.baomidou.mybatisplus.core.metadata.TableInfoHelper;import io.github.vampireachao.stream.core.reflect.ReflectHelper;import io.github....
2024-08-31
Disruptor
有教养的头脑的第一个标志就是善于提问。——普列汉诺夫 官方文档: LMAX Disruptor github: GitHub - LMAX-Exchange/disruptor: High Performance Inter-Thread Messaging Library Disruptor是由LMAX Exchange开发的一个高性能并发框架,专门用于处理需要低延迟和高吞吐量的场景。与传统的队列模型相比,Disruptor通过无锁的环形缓冲区实现了极高的性能,适合用在对性能要求苛刻的金融交易系统、日志处理系统等领域。 Disruptor的核心概念 Disruptor框架的核心组件包括: RingBuffer: 环形缓冲区,用于存储事件。它的大小是2的幂次方,以便利用位运算进行快速计算。 Event: 事件对象,代表要处理的数据单元。 Producer: 生产者,负责将事件发布到RingBuffer中。 Consumer: 消费者,从RingBuffer中获取事件并处理。 这些组件协同工作,形成一个高效的数据处理流水线。 引入依赖: 12345<depe...
2020-07-23
mybatis中if-else
mybatis中if-else要用choose-when-otherwise 12345678<choose> <when test="page !=null and page.orderBy != null and page.orderBy != ''"> ORDER BY ${page.orderBy} </when> <otherwise> ORDER BY a.update_date DESC </otherwise></choose>
2020-08-18
枚举的使用及校验
今天聊聊枚举咋用 先定义一个枚举 12345678910111213141516171819202122232425262728293031323334353637383940414243444546package com.ruben.enumration;import com.alibaba.fastjson.annotation.JSONType;import com.fasterxml.jackson.annotation.JsonFormat;/** * @ClassName: GenderEnum * @Description: * @Date: 2020/8/18 19:03 * * * @author: achao<achao1441470436 @ gmail.com> * @version: 1.0 * @since: JDK 1.8 */@JSONType(serializeEnumAsJavaBean = true)@JsonFormat(shape = JsonFormat.Shape.OBJECT)public enum GenderEnum...
2023-11-12
hutool修复CollectorUtil.reduceListMap与Collectors.groupby一起使用时出现与预期不符的结果
待小人宜宽,防小人宜严。——金瑛 问题的issue: https://github.com/dromara/hutool/issues/3380 此处复现: 12345678910111213141516171819 List<Map<String, String>> data = ListUtil.toList( MapUtil.builder("name", "sam").put("count", "80").map(), MapUtil.builder("name", "sam").put("count", "81").map(), MapUtil.builder("name", "sam").put("count", "82").map(), MapUtil.builder("name&q...
2023-02-15
bean-searcher内嵌参数
凡事有私心的人,虚荣心强的人,一切以我为中心的人才最爱听拍马屁的奉承话、甜言蜜语,其中一定包含着辛辣——席勒 文档链接 这里的内嵌参数中的一种,拼接参数可以让我们传入自定义的sql,更加的灵活 例如嵌入到@SearchBean.tables里 123456789101112@SearchBean( tables = ":table:" // 参数 table 由检索时动态指定,这在分表检索时非常有用) public class Order { @DbField("id") private long id; @DbField("order_no") private String orderNo;} 又或者是groupBy里 12345678910@SearchBean( tables = "student", groupBy = ":groupBy:" // 动态指定分组条件)...

阿超
我的名字叫阿超 年龄25岁 家在北京市 职业是软件开发 每天最晚也会在八点前回家 不抽烟 酒浅尝辄止 晚上十二点上床 保证睡足八个小时 睡前写一篇博客 再做二十分钟俯卧撑暖身 然后再睡觉 基本能熟睡到天亮 像婴儿一样不留下任何疲劳和压力 就这样迎来第二天的早晨 健康检查结果也显示我很正常 我想说明我是一个不论何时都追求内心平稳的人 不拘泥于胜负 不纠结于烦恼 不树立使我夜不能寐的敌人 这就是我在这社会的生活态度
Follow Me公告
This is my Blog