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

这里第一个list中,使用的泛型为extends,我们发现无法写入,只能读取
第二个list1中使用的super,发现只能写入,无法读取到准确的泛型
综上所述
extends只读不写
super只写不读
相关推荐
2021-10-24
动态参数+reduce累加stream
通向面包的小路蜿蜒于劳动的沼泽之中,通向衣裳的小路从一块无花的土地中穿过,无论是通向面包的路还是通向衣裳的路,都是一段艰辛的历程。 ——福斯 今天有朋友问我,stream中如果要将一个User类中的username和id收集起来变成两个list怎么写,我说可以使用peek函数 1234567@Data@AllArgsConstructorstatic class User { private Long id; private Long groupId; private String username;} 就像这样: 1234567891011 // 用户列表 List<User> userList = Stream.iterate(1L, i -> ++i).map(id -> new User(id, 999L, Faker.instance().name().username())).limit(10).collect(Collectors.toList()); // 要收集起来...
2023-08-06
vaadin
历史是一堆灰烬,但灰烬深处有余温。——黑格尔《美学》 Vaadin允许我们使用java代码进行页面构建 Vaadin 是一个 Java 的 Web 应用程序开发框架,其中包含一个大型的 UI 组件库。它可以帮助您比以前更快地构建可靠的 Web 应用程序和出色的用户体验 https://vaadin.com/ 我们按照官方文档里下载demo https://vaadin.com/docs/latest/guide/quick-start 运行以后 发现这里的主要代码: 1234567891011121314151617181920212223242526272829303132package com.example.application.views.main;import com.vaadin.flow.component.Key;import com.vaadin.flow.component.button.Button;import com.vaadin.flow.component.notification.Notification;import com.vaadin...
2025-08-16
spring-ai-alibaba
胡马依北风,越鸟巢南枝。一一《古诗十九首》 让 AI 赋能 Spring 应用——深度解读 Alibaba Spring AI Alibaba 项目在人工智能大模型风起云涌的时代,越来越多的企业和开发者希望将 AI 能力无缝集成到现有的业务系统中。Spring 作为 Java 生态中最流行的企业级开发框架之一,如何优雅地连接各种大模型服务,真正让“AI + 业务”成为现实?阿里巴巴开源的 spring-ai-alibaba 项目,正是为此而生! 本文将带你全面了解 spring-ai-alibaba 的定位、架构、特色、核心能力与应用前景,帮助你在 AI 时代快人一步,轻松打造智能业务应用。 一、项目简介:AI 能力与 Spring 生态的完美融合spring-ai-alibaba 是阿里巴巴开源的 Spring AI 扩展组件,旨在让开发者能够像用 Spring Boot 一样简单地集成和调用各类大模型服务,包含阿里云通义千问、阿里云大模型 API 以及阿里集团内部的大模型平台。项目不仅兼容官方 spring-ai 框架,还提供了更强的扩展性和阿里生态适配能力。 一句话理...
2021-09-19
mybatis-plus乐观锁
青,取之于蓝而青于蓝;冰,水为之而寒于水。 ——《荀子·劝学》 同样还是mybatis-plus官方示例项目 此处乐观锁不同于悲观锁的区别是,它只有在真正执行数据库操作的时候才去进行判断是否重复修改 需要指定一个字段作为版本号,使用@Version注解 官方文档中如此描述: 当要更新一条记录的时候,希望这条记录没有被别人更新乐观锁实现方式: 取出记录时,获取当前version 更新时,带上这个version 执行更新时, set version = newVersion where version = oldVersion 如果version不对,就更新失败 乐观锁配置需要两步 #1.配置插件spring xml方式: 123456789<bean class="com.baomidou.mybatisplus.extension.plugins.inner.OptimisticLockerInnerInterceptor" id="optimisticLockerInnerInterceptor"...
2023-10-28
r2dbc的repository注入失败
怀疑与信仰,两者都是必需的。怀疑能把昨天的信仰摧毁,替明日的信仰开路。——罗曼·罗兰 今天springboot3使用r2dbc踩坑 1Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'com.ruben.repository.UserRepository' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {@jakarta.annotation.Resource(shareable=true, lookup="", name="", description="", authenticationType=CONTAINER, type=java.lang.Object.class, ma...
2022-01-12
获取两个list中相互不包含的部分
“走吧,去吃肉。”——《非正常死亡》 代码如下:提供了几种方法(自个写的) 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465import java.util.*;import java.util.stream.Collectors;import java.util.stream.Stream;class Scratch { public static void main(String[] args) { List<Integer> list = new ArrayList<>(); list.add(1); list.add(2); list.add(3); list.add(4); list.add(5); list.add(6); ...

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