为什么应该使用 Consumer 和 Producer 而不是普通的 getter/setter?

替换这样的东西有什么意义吗


1.普通版


// 1.1

public getUser(){

    return user;

}


// 1.2

public void setUser(User user) {

    this.user = user;

}

像这样:


2.功能版


// 2.1

public Supplier<User> getUser = () -> user; 

// 2.2

public Consumer<User> setUser = (user) -> this.user = user; 

使用版本 2 是否有任何技术优势(例如性能)?


应该选择哪一个?


泛舟湖上清波郎朗
浏览 88回答 1
1回答

FFIVE

我在这里真的看不到功能版本的好处。如果您正在寻找一种传递 getter 和 setter 的方法,您可以只使用函数引用。例如,假设Entry包含方法getUser和setUser:Entry entry = ...;doSomethingWith(entry::getUser);writeTo(entry::setUser);
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java