170 похожих чатов

Пишу либу, подскажите, пожалуйста, как мне реализовать одну задумку на

джаве.
Вообщем есть метод который принимает на вход две лямбды Supplier и Consumer. Мне нужно как-то связать тип возвращаемого значения и принимаемого, они не должны быть одинаковыми, но должны использоваться только вместе. Похоже на перегрузку с дженериками, но мне нужно еще, чтобы "перегружать" можно было и в любом другом участке кода, что похоже на котлиновские экстеншн функции, но мне нужно на Java.

Вот пример чего я хочу достичь: https://pastebin.com/Har3MCH6
askAndAnswer должно быть можно перегружать из других модулей

public void test() {
Routes
.when(MyState.PizzaSelect,
askAndAnswer(
() -> new Select("Выберите пиццу", List.of("Маргарита", "Пепперони", "Мясная")),
(String res) -> {
save(res);
next(MyState.Order);
}
)
)
.when(MyState.Number,
askAndAnswer(
() -> new NumberQuestion("Сколько?"),
(Integer res) -> {
save(res);
}
)
);
}

public static void askAndAnswer(Supplier<Select> q, Consumer<String> a) {

}
public static void askAndAnswer(Supplier<NumberQuestion> q, Consumer<Integer a) {

}

2 ответов

4 просмотра

Афаик, в джаве полиморфные методы с отличием только в типовом параметре делать нельзя.

> они не должны быть одинаковыми, но должны использоваться только вместе я вот не понял, что это значит — вангую, что система типов тоже не поймёт

Похожие вопросы

Обсуждают сегодня

Всем привет, написал код ниже, но он выдает сегфолт, в чем причина? #include <stdio.h> #include <stdlib.h> #include <string.h> struct product { char *name; float price; };...
buzz базз
75
База данных не поможет. Шифрование не поможет. Какие там ещё варианты? Накидывайте.
КТ315
20
А как лучше конвертировать физический адрес в виртуальный при маппинге? В случае ядра у меня, например, direct mapping, первые 768МБ я как есть мапплю в higher half, а остальн...
Evg Resh
26
Всем привет, подскажите/посоветуйте пожалуйста. Фаердак компоненты, имею одно место где бизнес хочет видеть при открытии формы список всех клиентов, это порядка 30к. Мои дово...
Sasha Sch
14
Ребят, если кто в курсе - скажите, а в загранке такое же засилье маркетплейсов? или там простые сермяжные интернет-магазины живут попроще?
Андрей [aharito] Харитонов
14
Коллеги, доброе утро. Запустил на удаленном хосте приложение (ручками зашел туда по ssh и запустил, не командой удаленно). Создал потом ssh-туннель, и с моей машины приложение...
Δημήτηρ
9
Господа всем привет. Для того чтобы страница индексировалась с запросом под каждый город. Это нужно делать отдельные страницы для каждого города, или есть варианты по лучше?
Владимир
8
Хотел бы спросить у знающих, правильную ли я выбрал книгу для начала изучения ассемблера Юрова В.И ? Или есть более лучшие книги для начала обучения?
Botsman
31
Да блин, на тестах всё отлично было, теперь застрял на запуске. Как только не закавычивал, уже даже догуглился до того, чтобы string.format добавить, и на выводе получил строк...
Заха́р
2
$params = [ 'formid' => 'feedbackForm', 'formTpl' => '@CODE: <form class="form-validate" data-id="ajax_form"> <fieldset class="margin-bottom-md"> ...
Pathologic
1
Карта сайта