Czy Java 8 obsługuje zamknięcia?
Jestem zmieszany. Myślałem, że Java8 wyjdzie z epoki kamienia i zacznie wspierać lambdy / zamknięcia. Ale kiedy próbuję:
public static void main(String[] args) {
int number = 5;
ObjectCallback callback = () -> {
return (number = number + 1);
};
Object result = callback.Callback();
System.out.println(result);
}
tu jest napisanenumber should be effectively final
. Myślę, że to nie zamknięcie. To po prostu brzmi jak kopiowanie środowiska według wartości, a nie przez odniesienie.
Pytanie bonusowe!
Czy android będzie obsługiwał funkcje Java-8?