Java 8 Consumer and Supplier
阿新 • • 發佈:2019-02-06
Supplier:可以獲取一些值(如構造器,函式方法等)
當呼叫get時,實際上是呼叫Supplier所指函式
Supplier參照構造器方法
Supplier<User> userSupplier = User::new;
User user = userSupplier.get();
參照靜態方法
Supplier<User> userSupplier = UserFactory::produceUser;
User user = userSupplier.get();
class UserFactory {
public static User produceUser () {
return new User();
}
}
參照例項
Supplier<User> userSupplier = this::produceUser;
User user = userSupplier.get();
private User produceUser(){
return new User();
}
Consumer:可以接受一些引數
當呼叫accept時,實際上是呼叫Consumer所指函式
簡單例子:
Consumer<User> userConsumer = (u) -> System.out.println ("Username: "
+ u.getUsername());
userConsumer.accept(user);