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>后,编译通过
相关推荐
2023-09-30
feign-reactive
晚饭少吃口,活到九十九。——钱大昕 https://github.com/openfeign/feign 目前feign不支持webflux、reactive 于是找到了一个三方库 https://github.com/kptfh/feign-reactive 基于Spring WebFlux的Reactive Feign客户端 安装: 12345678910111213141516171819202122232425262728293031323334<repositories> <repository> <id>bintray-kptfh-feign-reactive</id> <name>bintray</name> <url>https://dl.bintray.com/kptfh/feign-reactive</url> </repository></repositories>...<d...
2023-01-01
lunar
人,现在最年轻啦。因为比起明天来,今天是年轻的。对于一个人来说,什么时候都是现在最年轻。──永六辅 lunar是一个支持阳历、阴历、佛历和道历的日历工具库,它开源免费,有多种开发语言的版本,不依赖第三方,支持阳历、阴历、佛历、道历、儒略日的相互转换,它能用来制作日历,甚至算命。 除此之外,还支持星座、干支、生肖、节气、节日、彭祖百忌、每日宜忌、吉神宜趋、凶煞宜忌、吉神方位、冲煞、纳音、星宿、八字、五行、十神、建除十二值星、青龙名堂等十二神、黄道日及吉凶等。 支持的时间跨度约为0001年至9999年。 地址:https://6tail.cn/calendar/api.html github: javascript:https://github.com/6tail/lunar-javascript java:https://github.com/6tail/lunar-java c#.net:https://github.com/6tail/lunar-csharp php(composer):https://github.com/6tail/lunar-php ph...
2023-10-01
webclient远程调用
无论谁想获得自己的名声,都应该隐藏起他的自负。——斯威夫特 我们在webflux场景下可以使用webclient 依赖就包含在了webflux中 1234<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-webflux</artifactId></dependency> 这里使用的话: 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768import cn.dev33.satoken.same.SaSameUtil;import cn.hutool.core.map.MapUtil;import cn.hutool.json.JSONUtil;import com.alibaba...
2021-08-04
日志输出filter
人类经常把一个生涯发生的事,撰写成历史,在从那里看人生;其实,那不过是衣服,人生是内在的——罗曼。罗兰 日记记录过滤器 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677package com.kuang.config.log;import com.alibaba.fastjson.JSON;import com.kuang.common.util.Opt;import com.kuang.common.util.ResponseWrapper;import lombok.extern.slf4j.Slf4j;import org.slf4j.Logger;import javax.servlet.*;import javax.servlet.http.HttpServletRequest;import javax.servlet.http...
2023-10-06
camel+minio实现预签名URL上传
充实的思想不在于言语的美丽,而在于它引以自豪的内容。——莎士比亚 Camel文档: Minio :: Apache Camel Minio文档: https://min.io/docs/minio/linux/developers/java/API.html#getPresignedObjectUrl Amazon文档: 使用预签名 URL - Amazon Simple Storage Service 然后核心配置如下: 123// For the generate Pre signed Url routefrom(direct("createUploadLink")) .to(minio(CamelConst.BUCKET_TEMPLATE).operation(MinioOperations.createUploadLink)); 其余配置部分参考 springboot+camel对接minio上传下载 接下来就是使用: 123456789101112131415161718import cn.hutool.core.io.IoUt...
2022-01-05
java生成带logo二维码
人生如路。须在荒凉中走出繁华的风景来。——七堇年 代码很简单,需要用到hutool 我这边logo是网络地址,实际开发中可以使用本地地址 1QrCodeUtil.generatePng("二维码实际的值", QrConfig.create().setImg(ImgUtil.getImage(URLUtil.url(/img/oss/2020-06-01/head.jpg)))) 然后这里的返回值就是byte[]我们可以返回给前端 当然,也推荐使用客户端生成二维码,这样避免了网络传输带来的损耗 简单场景和安卓等java客户端应用可以用这个方法
