// 示例代码:Java 方法引用
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
public class MethodReferenceExample {
// 1. 引用静态方法
public static void main(String[] args) {
List<String> names = Arrays.asList("Alice", "Bob", "Charlie");
// 使用 lambda 表达式
List<String> upperCaseNamesLambda = names.stream()
.map(name -> name.toUpperCase())
.collect(Collectors.toList());
System.out.println("Using lambda: " + upperCaseNamesLambda);
// 使用静态方法引用
List<String> upperCaseNamesMethodRef = names.stream()
.map(String::toUpperCase)
.collect(Collectors.toList());
System.out.println("Using method reference: " + upperCaseNamesMethodRef);
}
// 2. 引用实例方法
public void greetPeople(List<String> people) {
people.forEach(this::greet);
}
private void greet(String person) {
System.out.println("Hello, " + person);
}
}
引用静态方法:
main
方法中,我们使用了两种方式将字符串列表中的每个元素转换为大写。name -> name.toUpperCase()
。String::toUpperCase
。这里的 ::
是方法引用操作符,String::toUpperCase
表示调用 String
类的静态方法 toUpperCase
。引用实例方法:
greetPeople
方法中,我们使用了实例方法引用 this::greet
来遍历并打印每个人的名字。this::greet
表示调用当前对象的 greet
方法。上一篇:java 反射调用方法
下一篇:static java
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站