我遇到一行java书,其中说明“当一个lambda表达式中发生return语句时,它只会导致从lambda返回。它不会导致封闭方法返回”。
上述语句是否意味着我们无法从lambda表达式中包含的方法返回值。 我找不到任何例子,所以创建了一个不会编译的虚拟程序。
Numeric num=(n)->{ // assume interface Numeric{ int func(int n); }
int a=5;
int result=n/a;
resultMethod(n) // assume int resultMethod(int a) is method.
{
return n;
}
return result;
}
System.out.println(num.func(12));
答案 0 :(得分:0)
Private Sub CommandButton1_Click()
Sheets("Sheet1").Range("A1:A5").Copy
Sheets("Sheet2").Activate
Dim lastrow As Long
lastrow = Range("A65536").End(xlUp).Row
Cells(lastrow + 1, 1).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=True
End Sub
这将检查输入的值是否为Null文本。如果您在promt中输入Null作为文本,这将适用。如果你想检查n是NULL,请尝试下面的代码
if( n.equals("Null"))
{
}
答案 1 :(得分:0)
见这个例子:
public static void main() {
funcInt fi = (n) -> {
return n;
}
System.out.println("This will be executed");
}
在上面的示例中,将打印print语句。
lambda表达式中的return语句不会在不打印语句的情况下返回main。