這是關於lambda表達式的一個問題。我對check((h, l) -> h > l, 0);
中的語法感到困惑:在Java 8中,這是什麼樣的lambda表達式語法?
check()
函數需要一個Climb對象和一個int。上面的行不提供任何Climb對象。 h > l, 0
是什麼意思?
interface Climb {
boolean isTooHigh(int height, int limit);
}
class Climber {
public static void main(String[] args) {
check((h, l) -> h > l, 0);
}
private static void check(Climb climb, int height) {
if (climb.isTooHigh(height, 1))
System.out.println("too high");
else
System.out.println("ok");
}
}
如何在調用'check()'時將一個布爾值轉換爲Climb對象?我不明白。 –
@FukuzawaYukio聽起來像你不熟悉lambda表達式實現的功能接口。去了解它:)。 – Sam