java 无法覆盖Comparator的compare()方法。

bluesky1年前 ⋅ 128 阅读

ChatGPT的回答仅作参考:

在Java中,Comparator接口是一个函数式接口,它只有一个抽象方法compare()。因此,您可以使用lambda表达式或匿名内部类来实现Comparator接口的compare()方法。

以下是使用lambda表达式实现Comparator接口的compare()方法的示例:

```java
List<Integer> numbers = Arrays.asList(5, 3, 1, 4, 2);

// 使用lambda表达式实现Comparator接口的compare()方法
numbers.sort((a, b) -> a.compareTo(b));

System.out.println(numbers); // 输出:[1, 2, 3, 4, 5]
```

您还可以使用匿名内部类来实现Comparator接口的compare()方法:

```java
List<Integer> numbers = Arrays.asList(5, 3, 1, 4, 2);

// 使用匿名内部类实现Comparator接口的compare()方法
numbers.sort(new Comparator<Integer>() {
    @Override
    public int compare(Integer a, Integer b) {
        return a.compareTo(b);
    }
});

System.out.println(numbers); // 输出:[1, 2, 3, 4, 5]
```

请注意,无论是使用lambda表达式还是匿名内部类,都可以覆盖Comparator接口的compare()方法。

全部评论: 0

    相关推荐