setter的Lambda表达式

Kow*_*ser 17 java getter setter lambda

我们有getter的lambda表达式如下:

Function<Student, String> studentNameGetter = Student::getName;
Run Code Online (Sandbox Code Playgroud)

如何设置setter的lambda表达式?

Kep*_*pil 33

我不确定你为setter创建一个lambda表达式是什么意思.

您尝试做的是将方法引用分配给合适的功能接口.在这种情况下,最佳匹配是BiConsumer:

BiConsumer<Student, String> studentNameSetter = Student::setName;
Run Code Online (Sandbox Code Playgroud)

  • 你能解释一下为什么会这样吗?我认为`BiConsumer <Student,String>`只能分配给`(学生a,字符串b) - > a.setName(b)`.但是`setName`的签名只有一个参数. (3认同)