При поиске кода я наткнулся на оператор стрелки, что именно он делает? Я думал, что у Java не было оператора стрелки.
return (Collection<Car>) CollectionUtils.select(listOfCars, (arg0) -> {
return Car.SEDAN == ((Car)arg0).getStyle();
});
Подробности : Java 6, коллекция Apache Commons, IntelliJ 12
Обновление / ответ: Оказывается, IntelliJ 12 поддерживает Java 8, который поддерживает лямбды, и «складывает» предикаты и отображает их как лямбды. Ниже приведен «развернутый» код.
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
Майк Райландер
источник
источник
Ответы:
Это часть синтаксиса новых лямбда-выражений, которые будут введены в Java 8. Есть пара онлайн-уроков, чтобы освоить их, вот ссылка на них. По сути, параметры
->
отделяются (слева) от реализации (справа).Общий синтаксис использования лямбда-выражений:
(Параметры) -> {Body}, где '->' разделяет параметры и тело лямбда-выражения.
Параметры заключены в круглые скобки, как и для методов, а тело лямбда-выражения представляет собой блок кода, заключенный в фигурные скобки.
источник
Этот также полезен, когда вы хотите реализовать функциональный интерфейс
эквивалентно
источник
Я считаю, что эта стрелка существует из-за вашей IDE. IntelliJ IDEA делает такую вещь с некоторым кодом. Это называется свертыванием кода. Вы можете нажать на стрелку, чтобы развернуть ее.
источник
Это лямбда-выражение.
Это означает, что из listOfCars arg0 является одним из элементов этого списка. С этим элементом он собирается делать, следовательно - -> все, что находится внутри скобок.
В этом примере он собирается вернуть список автомобилей, которые соответствуют условиям
источник
Новый оператор для лямбда-выражения добавлен в Java 8
Лямбда-выражение - это короткий способ написания метода.
Это косвенно используется для реализации функционального интерфейса
Основной синтаксис: (параметры) -> {операторы; }
Есть несколько основных правил для эффективного написания лямбда-выражений, которые вы должны знать.
источник