工作中遇到的小坑合集(java)

工作中遇到的小坑合集

fastjson

  1. fastjson在使用复杂的集合类型的使用,要使用TypeReference.如下
Map<Long,PriorityQueue<Message>> map = JSONObject.parseObject(string, 
new TypeReference<Map<Long, PriorityQueue<Message>>>() {});
  1. PriorityQueue优先队列,要求内部对象是Comparable
    上诉的示例代码,要求Message是Comparable,因为在优先队列建立的时候,会要判断元素之间的compare关系,而TypeReference没法使得PriorityQueue能传入compare对象,所以就要求内部对象本身是Comparable
  2. fastJson的ref
    当fastJson检测到需要json字符串的对象中有重复的对象的时候,会使用ref字段,表明引用,通过这样的方式来节约字节。
  3. PriorityQueue初始化的number
    PriorityQueue在初始化的时候可以传入个数字n,不要以为这样就可以用TopN的堆了,实际上PriorityQueue会自动扩容的。

maven

maven jar 加载失败的问题

今天给个子 module 添加 mybatis 代码,在跑单元测试的时候,提示我缺少类,一看是 spring-jdbc 中的类,添加 <dependency> 依赖之后发现, 依旧提示缺少该类,查看 maven 分析,发现确实没有 spring-jdbc 的包,但是 pom 文件中明明添加了。

解决问题:本质原因在于在 spring-jdbc 的引用之上还有一个其它工具的包,我暂时称为 A.jar(公司内部 jar 包,不提及名字) ,由于这个 jar 包的 groupId 写错的,但是坑爹的是 IDEA 并没有提示,(IDE 工具也不是万能的) 导致 maven 解析停在了这一句上,没有加载 spring-jdbc 。将 A.jar 包的 groupId 修改回来之后,问题就解决了。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值