【发布时间】:2021-04-10 00:45:07
【问题描述】:
import java.util.*;
import java.io.*;
class Simpson implements Comparable<Simpson> {
String name;
Simpson(String name) {
this.name = name;
}
@Override
( simpson) -> {
return this.name.compareTo(simpson.name);
}
}
public class Main {
public static void main(String... sortingWithList) {
List<Simpson> simpsons = new ArrayList<>();
simpsons.add(new Simpson("Homer "));
simpsons.add(new Simpson("Marge "));
simpsons.add(new Simpson("Bart "));
simpsons.add(new Simpson("Lisa "));
Collections.sort(simpsons);
simpsons.stream().map(s -> s.name).forEach(System.out::print);
我想使用 lambda 表达式进行比较,但出现错误。
【问题讨论】:
-
为什么要在一个类上实现 lambda?
-
您的代码似乎不完整。我建议进行编辑以正确格式化它。请告诉我们您遇到了哪个错误(edit 并将错误输出作为文本发布)。您只想按字母顺序对名称进行排序吗?
-
有一个 JEP 草案:简明方法体。 openjdk.java.net/jeps/8209434 不知道整合有没有进展。同时,只需使用标准的公共方法。
标签: java lambda comparable