比较器:此语言级别不支持方法引用?
Comparator: Method references not supported at this language level?
我为 Java 8
项目编写了以下代码行:
Comparator<Person> oldestPerson= Comparator.comparing(Person::getOldestBirthday);
这是一个简单的比较器,但是我试图在一个只使用 Java 7
的项目中使用此代码,因此出现此错误:
"Method references are not supported at this language level"
我知道我收到错误是因为我没有使用 Java 8. 有没有一种简单的方法可以在不使用方法引用的情况下重写逻辑?
Comparator<Person> comparator = new Comparator<Person>() {
@Override
public int compare(Person p1, Person p2) {
return p1.getOldestBirthday().compareTo(p2.getOldestBirthday());
}
};
这可能是 Java 7
中最简单的方法
我为 Java 8
项目编写了以下代码行:
Comparator<Person> oldestPerson= Comparator.comparing(Person::getOldestBirthday);
这是一个简单的比较器,但是我试图在一个只使用 Java 7
的项目中使用此代码,因此出现此错误:
"Method references are not supported at this language level"
我知道我收到错误是因为我没有使用 Java 8. 有没有一种简单的方法可以在不使用方法引用的情况下重写逻辑?
Comparator<Person> comparator = new Comparator<Person>() {
@Override
public int compare(Person p1, Person p2) {
return p1.getOldestBirthday().compareTo(p2.getOldestBirthday());
}
};
这可能是 Java 7
中最简单的方法