Comparable泛型踩坑
发表于|更新于
|浏览量:
善疑人者,人亦疑之;善防人者,人亦防之。——刘基
之前写的Comparable解决泛型限定问题
遇到了这种情况:

这是因为LocalDate没有实现Comparable<LocalDate>
而是由其实现的接口ChronoLocalDate去继承的Comparable<ChronoLocalDate>
并且LocalDate去实现的Serializable,而不是ChronoLocalDate

我们这里直接用的T extends Comparable<T>,此处传了LocalDate就是extends Comparable<LocalDate>
和实现Serializable的不是同一层级,所以我们需要指定为Comparable<? super T>,这个意思就是说允许Comparable里的类型是它的父类或者接口,具体super和extends区别可以看泛型的super和extends

改成Comparable<? super T>后,编译通过
相关推荐
2020-08-07
spring实现简单AOP
Sometimes we may think about how to do something before the method runs 有时我们会想,如何在一些方法执行前或者执行后做一些操作 比如日志的记录、权限的鉴定等等 昨天,我们搭建了个简单的spring项目并写了几个接口 其中一个是这样的 这里返回给前端的map中的data,我是手动加的前缀“服务器对你说” 我们现在来用AOP实现 先修改我们接口中的代码,去掉前缀 然后配置AOP 12345678910111213141516171819202122232425262728293031323334353637<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance&quo...
2020-08-17
spring实现Validator校验和全局异常处理
开整! 首先引入依赖 12345678910111213<!-- https://mvnrepository.com/artifact/org.hibernate.validator/hibernate-validator --> <dependency> <groupId>org.hibernate.validator</groupId> <artifactId>hibernate-validator</artifactId> <version>6.1.5.Final</version> </dependency> <!-- FastJson --> <!-- https://mvnrepository.com/artifact/com.alibaba/fastjson --> <dependency>...
2023-04-02
h2-console
名枪好躲,暗箭难防。——无名氏 分享一个h2-console的使用方式: 首先配置: 1234spring: h2: console: enabled: true 然后可以看到日志: 我们访问localhost:8080/h2-console,复制jdbc:h2:mem:2e01066c-fbfb-40a5-8ba9-3ff049d753f8到connection url 进到控制台,并成功连接 这里可以看到我们的库表信息以及进行查询 非常的好用
2023-04-29
shenyu
小心谨慎,不但可以防备别人侵犯自己,也可自防人性的放纵和腐败。——巴克 分享一个开源项目shenyu 官方文档:https://shenyu.apache.org/zh/ github:https://github.com/apache/shenyu 可以启动shenyu-admin下的ShenyuAdminBootstrap体验一下 访问:http://localhost:9095 用户名admin密码123456 然后我们按照文档上写的修改shenyu-bootstrap中的shenyu.local.enabled 然后运行shenyu-bootstrap下的ShenyuBootstrapApplication 这里报错的话点一下左边的提示即可 或者这里配置 启动成功后我们再启动一个我们自己的boot项目 此处访问http://127.0.0.1:8080/helloworld即可返回 1234{ "name" : "Shenyu", "data" : "hello world...
2022-07-28
mysql单条sql批量新增封装
人活一生,值得爱的东西很多,不要因为一个不满意,就灰心。——路遥 前两天写了mp自定义sql注入 今天对其进行了二次封装: 首先是目录: 源码地址:https://gitee.com/VampireAchao/stream-query 使用方式: 12345678910111213@Testvoid testSaveOneSql() { UserInfo entity = new UserInfo(); entity.setName("cat"); entity.setAge(20); entity.setEmail("achao1441470436@gmail.com"); UserInfo userInfo = new UserInfo(); userInfo.setName("ruben"); List<UserInfo> list = Arrays.asList(userInfo, entity); boolean isSuccess =...
2020-09-28
java多次调用,最后一次调用后才执行
追求使你充实,成功和失败都是伴奏。——史铁生 前段时间写了java防抖,不过之前写的都是在一定时间内只执行一次,超过这个时间,防抖又失效了,假设我现在有这样一个需求: 在一定的间隔内多次调用一个函数,只有最后一次才生效 例如,我设定的间隔为1秒,那么只要我在1秒内触发了第二次,那么就重新计时 废话不多说,贴代码 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859package com.ruben;import com.ruben.utils.TimeUtil;import java.util.Timer;import java.util.TimerTask;import java.util.logging.Handler;import java.util.logging.LogRecord;/** * @ClassName: TimeIsExpensiveDemo * @Date: 2020/9/28 21:3...

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