Set的add方法返回false
来源:互联网 发布:知果果 知呱呱 编辑:程序博客网 时间:2024/06/07 12:12
遇到这个问题的时候,第一反应是SQL写错了,因为我是遍历ResultSet调用的Set.add。
后来发现不是SQL的问题,再仔细想了一下,发现了问题所在。
我的Bean实现了Comparable接口,compareTo是这么写的
public int compareTo(GirlInfo o) { if(girlSupportNumber > o.getGirlSupportNumber()) return 1; else if(girlSupportNumber == o.getGirlSupportNumber()) return 0; else return -1;}
本身的写法没问题,问题在于我的需求:当两个女生的支持数相同时,不认为他们就是相等的。compareTo不能返回0。代码修改后正常。
public int compareTo(GirlInfo o) { if(girlSupportNumber >= o.getGirlSupportNumber()) return -1; else return 1;}
另外一点,TreeSet默认是升序排列。所以要实现降序的话,在当前对象大的情况下要返回负值。
0 0
- Set的add方法返回false
- # Arrays.asList 返回的list 不能使用 add,set,remove 方法
- Set接口的add,addAll,retainAll方法
- Calendar类的add()和set()方法
- Calendar类的add()和set()方法
- List的contains方法老是返回false的解决法
- FormsAuthentication.Authenticate()方法总是返回false的原因
- C# Form控件的Focus()方法总返回false
- XMemcachedClient实例的add方法和set方法区别
- XMemcachedClient实例的add方法和set方法区别
- XMemcachedClient实例的add方法和set方法区别
- Calendar的add和set方法的运用和区别
- List,Map,Set add方法
- list add set remove方法
- java 学习之List 的 add 与set方法区别
- Set:add方法与equals、hashcode的关系
- 常见对象_Calendar类的add()和set()方法
- java 学习之List 的 add 与set方法区别
- TCP/IP基于UDP的可单聊多聊聊天室
- Android之Intent全面解析及用法
- 【C语言】请编写实现以下功能函数:实现对一个8bit数据(unsigned char)的指定位(例如第8位)的置0或置1操作,并保持其他位不变
- UIKit框架-高级控件Swift版本: 8.UISegemtedControl方法/属性详解
- neutron surround you(2)
- Set的add方法返回false
- unity The Matrix和游戏制作的一些指标
- Java学习日记(十)IO流
- 基于NFC智能手机(Android)的开发领域 物联网、金融、交通、游戏
- 类 思维导图
- 数组和指针的区别
- 123
- bindService不能触发onServiceConnected方法的原因
- oracle 存储过程,游标、异常处理,集合使用入门详解