比较器:此语言级别不支持方法引用?

时间:2016-08-19 12:56:37

标签: java java-8 java-7 comparator method-reference

我为Java 8项目编写了以下代码行:

Comparator<Person> oldestPerson= Comparator.comparing(Person::getOldestBirthday);

这是一个简单的比较器,但我尝试在仅使用Java 7的项目中使用此代码,因此会出现此错误:

"Method references are not supported at this language level"

我理解我是因为我没有使用Java 8而得到错误。有没有一种简单的方法来重写逻辑而不必使用方法引用?

1 个答案:

答案 0 :(得分:4)

Comparator<Person> comparator = new Comparator<Person>() {
    @Override
    public int compare(Person p1, Person p2) {
        return p1.getOldestBirthday().compareTo(p2.getOldestBirthday());
    }
};

这可能是在Java 7中最简单的方法