【发布时间】:2016-05-03 17:17:36
【问题描述】:
我有一个比较器,它检查任何字符串是否为空并返回 -1。如果它们不为空,则进行比较。我想使用 lambda 函数来实现它。
代码如下:
private SortedSet<Student> studentSet() {
return new TreeSet<>(new Comparator<Student>() {
@Override
public int compare(Student s1, Student s2) {
if(s1.getName() == null) {
return -1;
}
if(s2.getName() == null) {
return 1;
}
return s1.getName().compareToIgnoreCase(s2.getName());
}
});
}
我知道如何使用 lambdas 返回一个简单的比较器。我对如何实现上述代码感到困惑。
【问题讨论】:
-
您可以使用 IDE 将代码转换为使用 lambda。不应该
null == null吗?
标签: java lambda java-8 comparator