Przeszukując jakiś kod natknąłem się na operatora strzałki, co on właściwie robi? Myślałem, że Java nie ma operatora strzałki.
return (Collection<Car>) CollectionUtils.select(listOfCars, (arg0) -> {
return Car.SEDAN == ((Car)arg0).getStyle();
});
Szczegóły : Java 6, Apache Commons Collection, IntelliJ 12
Aktualizacja / odpowiedź: Okazuje się, że IntelliJ 12 obsługuje Javę 8, która obsługuje lambdy i „składa” predykaty i wyświetla je jako lambdy. Poniżej znajduje się kod „niezłożony”.
return (Collection<Car>) CollectionUtils.select(listOfCars, new Predicate() {
public boolean evaluate(Object arg0) {
return Car.SEDAN == ((Car)arg0).getStyle();
}
});
java
intellij-idea
apache-commons
java-8
apache-commons-collection
Mike Rylander
źródło
źródło
Odpowiedzi:
To część składni nowych wyrażeń lambda, które mają zostać wprowadzone w Javie 8. Istnieje kilka samouczków online, które pomogą Ci to zrozumieć. Oto link do jednego z nich. Zasadniczo
->
oddziela parametry (lewa strona) od implementacji (prawa strona).Ogólna składnia używania wyrażeń lambda to
(Parametry) -> {Body}, gdzie „->” oddziela parametry i treść wyrażenia lambda.
Parametry są ujęte w nawiasy, tak samo jak w przypadku metod, a treść wyrażenia lambda to blok kodu ujęty w nawiasy.
źródło
Ten jest również przydatny, gdy chcesz zaimplementować funkcjonalny interfejs
jest równa
źródło
Wierzę, że ta strzała istnieje dzięki twojemu IDE. IntelliJ IDEA robi coś takiego z jakimś kodem. Nazywa się to zwijaniem kodu. Możesz kliknąć strzałkę, aby ją rozwinąć.
źródło
To wyrażenie lambda.
Oznacza to, że z listy listOfCars arg0 jest jedną z pozycji tej listy. Z tym elementem ma zamiar zrobić, stąd ->, cokolwiek jest w nawiasach.
W tym przykładzie zwróci listę samochodów spełniających ten warunek
źródło
W java 8 dodano nowy operator dla wyrażenia lambda
Wyrażenie lambda to krótka metoda pisania metod.
Pośrednio służy do implementacji interfejsu funkcjonalnego
Podstawowa składnia: (parametry) -> {instrukcje; }
Jest kilka podstawowych zasad efektywnego zapisywania wyrażeń lambda, o których powinieneś wiedzieć.
źródło