0
我是Java 8 lambda的新學習者。 我發現了一個聲明書(的Java 8真的很急)說, 「這是不合法的lambda表達式的一些分支機構,但不是在別人返回值。例如,(INT X) - > {if(x> = 0)return 1;}無效「Java 8 Lambda表達式
任何人都可以解釋這一點嗎?請提供一些例子。
在此先感謝。
我是Java 8 lambda的新學習者。 我發現了一個聲明書(的Java 8真的很急)說, 「這是不合法的lambda表達式的一些分支機構,但不是在別人返回值。例如,(INT X) - > {if(x> = 0)return 1;}無效「Java 8 Lambda表達式
任何人都可以解釋這一點嗎?請提供一些例子。
在此先感謝。
我不明白你不明白的地方。這是否會編譯?
static int test(int x) {
if(x >= 0) {
return 1;
}
}
這同樣適用於lambda表達式。
我不明白你的困惑。你已經有了一個解釋的例子。這是無效的,因爲只有兩個分支中的一個返回值。 –
無論您是否編寫標準方法或類似上面的lambda表達式,代碼都需要定義一些結果。在你的例子中,對於負輸入('x')表達式不返回任何內容 - 這是不允許的。 –
這本書應該改名爲真正耐心的Java 8。 Java 8已經出現3年了;-) –