我有以下代码:
DialogInterface.OnClickListener closeOnOkClickListener = new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
switch (which){
case DialogInterface.BUTTON_POSITIVE:
finish();
break;
}
}
};
我正在尝试将其转换为lambda表达式,但我无法做到。
可能吗?
怎么样?
最佳答案
有可能的。每个仅有一个非默认方法的interface
都是一个FunctionalInterface
。注释仅用于编译器,以确保interface
仅具有一个非默认方法,否则,您将获得编译器错误。
尝试这个:
DialogInterface.OnClickListener closeOnOkClickListener = (dialog, which) -> {
switch (which){
case DialogInterface.BUTTON_POSITIVE:
finish();
break;
}
};
签出this以获得
FunctionalInterface
注释的更多解释。