java大神有吗?compareTo return 失效 通过判断是否在map内条件下的return debug后发现似乎被忽略了,跑不到那里。

桃哥543 桃哥543 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
java大神有吗?前4个return 似乎被编译器忽略了?继承的Comparable;

@Override
public int compareTo(Conversation another) {
if (another instanceof Conversation) {
Conversation anotherConversation = (Conversation) another;
if (type == TIMConversationType.Group) {
if (ImSettingManager.getTopContactMap().containsKey(BeanContactSetting.FONT_WORD_TYPE_GROUP +
getIdentify())) {
if (anotherConversation.type == TIMConversationType.Group) {
if (ImSettingManager.getTopContactMap().containsKey(BeanContactSetting.FONT_WORD_TYPE_GROUP +
anotherConversation.getIdentify()))
return 0;
else
return 1;
}else{
if (ImSettingManager.getTopContactMap().containsKey(BeanContactSetting.FONT_WORD_TYPE_PEOPLE +
anotherConversation.getIdentify()))
return 0;
else
return 1;
}
}
} else {
if (anotherConversation.type == TIMConversationType.Group) {
if (ImSettingManager.getTopContactMap().containsKey(BeanContactSetting.FONT_WORD_TYPE_GROUP +
anotherConversation.getIdentify()))
return 0;
else
return 1;
}else{
if (ImSettingManager.getTopContactMap().containsKey(BeanContactSetting.FONT_WORD_TYPE_PEOPLE +
anotherConversation.getIdentify()))
return 0;
else
return 1;
}
}
long timeGap = anotherConversation.getLastMessageTime() - getLastMessageTime();
if (timeGap > 0) return 1;
else if (timeGap < 0) return -1;
return 0;
} else {
throw new ClassCastException();
}
...全文

相关推荐

一个java程序员的经验总结

日常开发过程中遇到的问题进行总结,有的在上面纠结了很久,希望对大家有帮助

SurpriseNoocle

Java集合框架、并发修改异常、Lamabda表达式

javaList/map面试题

深肖朕躬

Java Set深度解析:从hashCode契约到生产级选型决策

Set是Java集合框架中承载数据唯一性语义的核心抽象,其底层原理直指哈希表结构、红黑树平衡机制与并发内存模型。理解equals()与hashCode()的强一致性契约,是避免去重失效的前提;掌握HashSet扩容、TreeSet旋转、CopyOnWriteArraySet写时复制等行为差异,决定高并发与大数据场景下的性能拐点。在电商订单去重、风控白名单排序、实时监控指标管理等典型应用中,Set不仅是容器,更是数据一致性的第一道防线。本文聚焦JDK源码级实现细节与12个真实线上案例,揭示从开发规范到生产避坑

daxi1047

从Lambda到抽象层次:Java函数式代码的工程实践

函数式编程强调将计算过程抽象为数据流,Java中的Lambda表达式虽简化了语法,却并非抽象层次提升的终点。真正区分代码质量的是业务语义与机器操作之间的距离。理解高阶函数、Stream链和业务函数接口的角色,是迈向高抽象层次的关键。通过提取命名方法、定义领域接口、组合流水线,代码可从“能跑”进化为“能看懂、能复用、能演进”。在订单处理、规则校验、价格计算等场景中,这种实践能显著降低维护成本。本文聚焦Lambda如何成为函数式入口,并给出从低到高抽象层次的可行路径,帮助工程师写出贴近业务语言的Java代码。

weixin_30861459

Java轻量级规则引擎Aviator实战:从表达式求值到电商促销系统设计

规则引擎是解决复杂业务逻辑与代码耦合问题的关键技术,其核心原理是将业务决策逻辑从应用程序代码中剥离,实现动态配置与管理。通过将业务规则定义为可解释执行的表达式或脚本,规则引擎能够显著提升系统的灵活性和可维护性。在Java生态中,Aviator以其高性能、轻量级和低学习成本脱颖而出,特别适用于需要快速迭代和频繁变更规则的场景,如电商促销、风控策略和动态配置。它通过将规则编译为Java字节码执行,兼顾了动态性与执行效率。本文将以Aviator为例,深入解析其表达式求值原理、自定义函数扩展、性能调优策略,并最终展

weixin_34068198
评论 2
收藏 已收藏
分享
返回顶部
桃哥543
Java 51,407 成员 86,130 内容