Java 8 方法引用和 Lambda 表达式:自定义方法传参
在 Java 8 中,可以使用方法引用和 lambda 表达式来传递参数。对于自定义方法传参,可以使用set 方法来设置对象的属性值。\n\n假设有一个Service 类,其中包含一个set 方法,用于设置对象的属性值。可以使用方法引用和 lambda 表达式来传递参数。\n\n首先,定义一个泛型方法set,接受一个对象和一个函数式接口作为参数,函数式接口用于设置对象的属性值。\n\njava\npublic class Service {\n public static <T> void set(T obj, Consumer<T> setter) {\n setter.accept(obj);\n }\n}\n\n\n然后,可以使用方法引用或 lambda 表达式来传递参数。假设有一个Person 类,包含code 和 name 属性。\n\njava\npublic class Person {\n private String code;\n private String name;\n \n // Getters and setters\n \n public void setCode(String code) {\n this.code = code;\n }\n \n public void setName(String name) {\n this.name = name;\n }\n}\n\n\n使用方法引用传递参数:\n\njava\nPerson person = new Person();\n\nService.set(person, person::setCode); // 设置code属性为"1"\nService.set(person, person::setName); // 设置name属性为"123"\n\n\n使用 lambda 表达式传递参数:\n\njava\nPerson person = new Person();\n\nService.set(person, p -> p.setCode("1")); // 设置code属性为"1"\nService.set(person, p -> p.setName("123")); // 设置name属性为"123"\n\n\n以上代码将会设置person 对象的code 属性为"1",name 属性为"123"。
原文地址: https://www.cveoy.top/t/topic/qc7v 著作权归作者所有。请勿转载和采集!