Java

java方法引用能用于接口吗

小樊
82
2024-11-19 22:46:58
栏目: 编程语言

在Java中,方法引用可以用于接口。方法引用是Java 8引入的一种简化Lambda表达式的写法。它们可以用来表示已经存在的方法或者构造函数。方法引用可以用于接口,特别是当你需要将一个现有的方法作为Lambda表达式传递给高阶函数时。

以下是一些使用Java方法引用的示例:

  1. 引用静态方法:
List<String> names = Arrays.asList("Alice", "Bob", "Charlie");
names.sort(String::compareToIgnoreCase);
  1. 引用实例方法(需要对象实例):
List<String> names = Arrays.asList("Alice", "Bob", "Charlie");
names.sort((name1, name2) -> name1.compareToIgnoreCase(name2));
  1. 引用特定类型的任意对象的实例方法:
List<String> names = Arrays.asList("Alice", "Bob", "Charlie");
names.sort(String::compareToIgnoreCase);
  1. 引用构造函数:
List<String> names = Arrays.asList("Alice", "Bob", "Charlie");
List<String> reversedNames = names.stream()
                                   .map(String::new)
                                   .collect(Collectors.toList());

在这些示例中,String::compareToIgnoreCase 是一个方法引用,它表示 String 类中的 compareToIgnoreCase 方法。当这个方法引用用作Lambda表达式的参数时,它可以替代一个匿名内部类或者实现接口的类。

0
看了该问题的人还看了