这是我的第一个代码:
public class MethodReference {
public static void main (String []args) {
Stream<String> s = Stream.of("brown bear", "grizzly");
s.sorted(Comparator.reverseOrder()).forEach(System.out::print);
//...
}
}
结果:灰棕熊
这是我的第二个代码:
public class MethodReference {
public static void main (String []args) {
Stream<String> s = Stream.of("brown bear", "grizzly");
s.sorted(Comparator::reverseOrder()).forEach(System.out::print);
//...
}
}
结果:编译器错误
我的问题:为什么第二个代码中存在编译器错误?函数式接口的静态方法不能使用方法引用吗?
我知道我不能将方法引用与功能接口的默认方法一起使用。我知道我可以在 5 种情况下对类使用方法引用:
班级
类::静态方法
类::实例方法
实例::实例方法
类::新
功能接口
接口::抽象方法
非常感谢!
慕沐林林
蝴蝶刀刀
相关分类