Вопросы по теме 'method-reference'
ссылка на метод против лямбда-выражения
Я хочу заменить лямбда-выражение ссылкой на метод в приведенном ниже примере:
public class Example {
public static void main(String[] args) {
List<String> words = Arrays.asList("toto.", "titi.", "other");...
748 просмотров
schedule
02.12.2021
Понимание ссылки на метод с вновь созданным экземпляром
Я полностью понимаю эту форму:
Set<T> set = new HashSet<>();
list.stream().allMatch(t -> set.add(t));
// And that
list.stream().allMatch(set::add);
Но этот случайный случай меня действительно смущает:...
144 просмотров
schedule
09.10.2021
Оценка выражений в ссылках на методы Java во время выполнения
В разделе Оценка времени выполнения Ссылки на методы Спецификации языка Java упоминается, что:
Во время выполнения оценка выражения ссылки на метод аналогична оценке выражения создания экземпляра класса, поскольку обычное завершение создает...
480 просмотров
schedule
18.10.2021
Java8: как вызвать метод для переданного типа
Я пытаюсь реализовать шаблон декоратора, моя проблема в том, что у меня есть разные сгенерированные источники, которые будут переданы декорированному маскеру, у меня нет общего родителя, который предоставляет методы, которые мне нужны для выполнения...
82 просмотров
schedule
26.11.2021
Справочник по методу ↔ лямбда-эквивалент
Если вы поместите курсор на ссылку на метод связанного получателя, например str::toUpperCase в IntelliJ IDEA, и нажмете Alt + Enter, он предложит заменить его лямбдой. Если вы продолжите, он изменит ссылку на метод на () -> str.toUpperCase() ....
189 просмотров
schedule
26.09.2021
Как может Java Predicate ‹T› разрешить использование метода без аргументов?
Из того, что я изучил, Predicate - это функциональный интерфейс с абстрактным методом boolean test(T var1); . Итак, если я использую ссылку на метод Java 8 и передаю ее функции getAllVegeterianDish(List<Dish> dish, Predicate<Dish> p ,...
46 просмотров
schedule
07.10.2021
как выразить (String a) → a.contains(o) с помощью ссылки на метод java 8
"String::contains" неверен. но как выразить лямбду?
Кроме того, когда я пишу это в IntelliJ IDEA:
obj.testPredicate (список, String :: содержит);
Я получаю сообщение об ошибке "String::contains": на нестатический метод нельзя ссылаться...
4173 просмотров
schedule
30.04.2022
SonarLint: замените эту лямбду ссылкой на метод.
У меня есть коллекция, содержащая список ошибок. Я хотел сгруппировать их по ключу (UUID UserId). Для этого я скопировал код из этого ответа: https://stackoverflow.com/a/30202075/4045364
Collection<FilterError> filterErrors = new...
869 просмотров
schedule
30.05.2022
Запутался с использованием ссылки на метод в Comparator.comparing()
Я самообучающийся разработчик, сейчас изучаю Java. Я узнал, что для использования ссылки на метод для функционального интерфейса сигнатура метода, на который мы ссылаемся, должна совпадать с сигнатурой абстрактного метода внутри этого...
55 просмотров
schedule
12.06.2022
Передать ссылку на метод из разных подклассов
В настоящее время я застрял в выяснении того, как работают ссылки на методы. Это то, чего я пытаюсь достичь.
User user = new User(...);
user.getValue(ADerived::getPropertyFromA);
user.getValue(BDerived::getPropertyFromB);
ADerived и BDerive...
47 просмотров
schedule
26.06.2022
Ссылка метода на частный конструктор выдает IllegalAccessError
Редактировать: спасибо за комментаторов, пытающихся воспроизвести! Похоже, что это проблема именно с Dexguard. это может быть связано с интеграцией DexGuard в Android Studio 3.0 .
Поэтому я сталкиваюсь со странной ошибкой при попытке передать...
242 просмотров
schedule
19.07.2022
Ссылка на метод не компилируется - Integer::new
Почему это не компилируется?
Stream.generate(Integer::new(1)).limit(10);
Это дает ошибку
Синтаксическая ошибка в токене "новый", AssignmentOperator ожидается после этого токена
Конечно, я мог бы переписать это выражение в...
395 просмотров
schedule
08.08.2022
Статический контекст не может получить доступ к нестатическому в коллекторах
У меня есть группа студентов. Сначала я хочу сгруппировать их по меткам. Затем я хочу еще больше сгруппировать эти наборы в студентов с одинаковыми именами.
Map<Integer,Map<String,List<String>>> groupping = students.stream()...
31490 просмотров
schedule
08.08.2022
Мне сказали преобразовать лямбду с параметризованным конструктором в ссылку на метод
Допустим, у меня есть класс Gizmo с конструктором, который принимает строку. Допустим, я хочу преобразовать List<String> в List<Gizmo> .
Я мог бы написать:
List<String> strings = new ArrayList<>();...
1349 просмотров
schedule
10.09.2022
ссылка на метод экземпляра. не найдено подходящего метода для
Я знакомлюсь с новыми функциями java 8.
У меня есть следующий класс:
class InstanceMethodClass {
Integer testStr(String str1,String str2) {
return str1.compareTo(str2);
}
}
и следующий вызов:
Arrays.sort(new...
823 просмотров
schedule
28.03.2023
В чем преимущество использования ссылок на методы в этом случае?
У меня есть две переменные следующим образом:
List<Basket> bigBasket = new ArrayList<>();
Basket basket = new Basket();
Я написал следующий код, чтобы добавить связь между элементами в bigBasket и basket :
for (Fruit...
1008 просмотров
schedule
21.09.2023
Ошибки компилятора при использовании ссылки на метод в качестве лямбда для методов, которые ожидают интерфейс с универсальным типом, когда тип времени выполнения также является универсальным типом
Я пытаюсь написать некоторый код, который получает различные реализации классов в пакете java.util.function.* , но я продолжаю работать с определенной ошибкой компилятора для определенного синтаксиса, который я действительно хотел бы обойти...
1035 просмотров
schedule
04.11.2022
Как получить ссылку на метод для всех методов в классе (Java)?
Справочник по методу для конкретного метода в Java 8 можно получить как Class::Method . Но как получить ссылку на метод всех методов класса?
Все нужные методы имеют разные имена, но одинаковую сигнатуру типа. Кроме того, имена методов...
2439 просмотров
schedule
19.07.2023
Почему имя класса/объекта должно быть явно указано для ссылок на методы?
Когда я хочу сослаться на метод в текущей области, мне все равно нужно указать имя класса (для статических методов) или this перед оператором :: . Например, мне нужно написать:
import java.util.stream.Stream;
public class StreamTest {...
624 просмотров
schedule
02.07.2023
Создание нового объекта при использовании потоков Java 8
Есть ли разница в использовании следующих конструкций, кроме немного лучшей читабельности в последнем?
someList.stream().map(item -> new NewClass(item)).collect(Collectors.toList());...
73639 просмотров
schedule
28.01.2023