// 示例代码: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 中文站