2015-12-25 13 views
7

Im przy android studio i chcę użyć wyrażenia lambda, które są dostępne tylko z poziomu Javy 8, a gdy próbuję go użyć otrzymuję:Korzystanie Java 8 w android studio

Lambda expression are not supported at this language level. 

Więc, jak mogę zmienić to w AndroidStudio?

+7

Prawdopodobny duplikat: http://stackoverflow.com/q/23318109/5420829. Zainstaluj JDK 8 i ustaw kompilator w AndroidStudio na JDK 8. –

Odpowiedz

7

Jak mogę to zmienić w AndroidStudio?

Nie możesz. Android obsługuje aż do wersji Java 7. Jeśli chcesz używać AS tylko dla Lambda, możesz użyć gradle-retrolamba lub retrolambda, która jest retrofambdą na back-port na java 6/7

+0

Awesome, thanks. – Pachu

+0

nie ma za co – Blackbelt

2

Android obsługuje Java 6 aż do KitKat (4.4) z niektórymi niewielki cukier składniowy (jak np. operator diamentów) i Java 7 od tego miejsca (bankomaty Lollipop i Marshmallow). Lambdas i inne elementy Java 8 są dostępne tylko jako wtyczki (np. gradle-retrolambda lub oryginalny retrolambda). Będą one prawdopodobnie zawarte w API w pewnym momencie (jak Java 7 i KitKat), ale nie wydaje się prawdopodobne, że będzie to wkrótce.