gpt4 book ai didi

java - 我对 Java Lambda 表达式的困惑

转载 作者:行者123 更新时间:2023-12-01 07:47:37 24 4
gpt4 key购买 nike

我知道Java的Lambda表达式可以替换类型为Interface(仅包含一个方法)的参数,但为什么我可以执行这样的代码:

String[] myArray = new String[3];
Arrays.sort(myArray, (a, b) -> {return b.compareTo(a);});

在本例中,lambda 表达式 (a, b) -> {return b.compareTo(a);} 替换 Comparator 接口(interface)的对象,但是 Comparator 接口(interface)有多个方法,为什么?

最佳答案

您可以这样做,因为Comparator only declares one method没有默认实现。 (您可能会注意到它重新声明了 equals 而没有实现,但这只是为了记录在 Comparator 中覆盖它的效果。默认实现继承自 对象,如讨论 here 。)

关于java - 我对 Java Lambda 表达式的困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48492689/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com