java - 如何将姓氏作为第一级排序,将名字作为第二级排序
问题描述
在此代码中,仅根据姓氏进行排序。我需要做的是将姓氏作为第一级排序,将名字作为第二级排序。
public int compare(Object aO1, Object aO2) {
SearchResultAccount acct1 = (SearchResultAccount) aO1;
String lastName1 = acct1.getLastName();
SearchResultAccount acct2 = (SearchResultAccount) aO2;
String lastName2 = acct2.getLastName();
return lastName1.compareTo(lastName2);
}
我希望姓氏作为第一级排序,名字作为第二级排序
解决方案
public int compare(Object aO1, Object aO2)
{
SearchResultAccount acct1 = (SearchResultAccount) aO1;
SearchResultAccount acct2 = (SearchResultAccount) aO2;
int lastNameComparision = acct1.getLastName().compareTo(acct2.getLastName());
if (lastNameComparision != 0) {
return lastNameComparision;
} else {
return acct1.getFirstName().compareTo(acct2.getFirstName());
}
}
推荐阅读
- python - 如何在 QML 中创建 PyQT 注册类型的动态实例
- go - 在这种情况下使用下划线的原因是什么
- mysql - 我该做什么?在客户端计算并有更多的请求或在服务器上计算并有更少的请求
- c++ - 如何在 CMD/c++ 中重命名包含特殊字符的文件?
- python - 为什么 sympy 中符号名称的字典顺序会有所不同?
- python - 如何基于另一列创建一列范围为 1-4 的虚拟变量?
- asp.net - 无法加载文件或程序集 Newtonsoft.json - 错误 0x80131040
- r - 对列表进行加权平均
- c++ - 如何初始化 C++ 数组中的空字符位置?
- c# - 我无法统一从 start 方法访问变量