0、“::” 方法引用操作符的介绍
1、首先我们看两段代码
//flatMap是RxJava当中的操作符
flatMap(Observable::fromIterable)
//简单的点击事件
myButton.setOnClickListener(this::logError);
public void logError(View v) {
Log.d("debug", "Button clicked");
}
2、我们来还原一下代码
flatMap(new Function<List<Contributor>, ObservableSource<?>>() {
@Override
public ObservableSource<?> apply(@NonNull List<Contributor> contributors) throws Exception {
return Observable.fromIterable(contributors);
}
})
myButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Log.d("debug", "Button clicked");
}
});
public void logError(View v) {
Log.d("debug", "Button clicked");
}
3、对比一下,我们发现使用”::”的代码简洁很多;”::”是Java 8 中新加入的方法引用操作符
4、”::”官方描述