在Java 8中,方法可以创建为Lambda表达式,并且可以通过引用传递(通过一些工作).有大量的在线示例,lambdas被创建并与方法一起使用,但没有关于如何使用lambda作为参数的方法的示例.那是什么语法?
MyClass.method((a, b) -> a+b);
class MyClass{
//How do I define this method?
static int method(Lambda l){
return l(5, 10);
}
}
Run Code Online (Sandbox Code Playgroud) EditText在表单提交之前,我的表单可以包含可变数量的表单.我可以执行验证检查,如果EditTexts的数量固定如下 -
Observable<CharSequence> emailObservable = RxTextView.textChanges(editEmail).skip(1);
Observable<CharSequence> passwordObservable = RxTextView.textChanges(editPassword).skip(1);
mFormValidationSubscription = Observable.combineLatest(emailObservable, passwordObservable,
(newEmail, newPassword) -> {
boolean emailValid = !TextUtils.isEmpty(newEmail) && android.util.Patterns.EMAIL_ADDRESS.matcher(newEmail).matches();
if(!emailValid) {
emailInputLayout.setError(getString(R.string.error_invalid_email));
emailInputLayout.setErrorEnabled(true);
}else {
emailInputLayout.setError(null);
emailInputLayout.setErrorEnabled(false);
}
boolean passValid = !TextUtils.isEmpty(newPassword) && newPassword.length() > 4;
if (!passValid) {
passwordInputLayout.setError(getString(R.string.error_invalid_password));
passwordInputLayout.setErrorEnabled(true);
} else {
passwordInputLayout.setError(null);
passwordInputLayout.setErrorEnabled(true);
}
return emailValid && passValid;
}).subscribe(isValid ->{
mSubmitButton.setEnabled(isValid);
});
Run Code Online (Sandbox Code Playgroud)
但现在因为有不同数量的输入我尝试创建的列表Observable<CharSequence>和Observable.combineLatest(),但我坚持为与继续进行.
List<Observable<CharSequence>> observableList = new ArrayList<>();
for(InputRule inputRule : mMaterial.getRules()) {
View vInputRow …Run Code Online (Sandbox Code Playgroud) 我正在寻找一个有一个run像Runnable 这样的方法但返回结果的接口的好名字.
我目前考虑的选项是:
计算 - >过于数学,而不是返回结果的所有内容都是计算
功能 - >接近我正在寻找的东西,但它仍然是数学上太过分了
动作 - >是不适合因为它没有必要产生结果
操作 - >这将是我目前最喜欢的,但在数学上它可能只描述一种关系,而不会产生更多的结果.与行动相同
提供者 - >提供者意味着给某人/某事物提供某些东西,但并非总是这样,因为返回这种可运行的结果是很常见的
供应商 - >参见供应商
任务 - >是值得考虑的事情,但会干扰任务的另一种表示法,即由调度程序执行的任务.
工作 - >可能工作但工作流程更好地保存工作流程.
工作 - >与任务相同
过程 - >可能工作但是最好保留,并且不是所有结果都是由实际过程产生的(getter示例)
这些是我找到的替代品.最接近的赌注是供应商或ResultSupplier界面,但听起来很尴尬.
有没有人有更好的命名理念或知道与所呈现的(或目前错过的)替代方案幸福生活的框架?