Soapui - запрос отдыха продолжает вращаться даже после получения ответа

В моем варианте нет необходимости дополнительно упрощать ваши инструкции switch, так как они читаемы и делают разные вещи. Кроме того, для упрощения вам нужно будет добавить дополнительный слой абстракции, который здесь (на самом деле) невозможен.

Единственное, что вы могли бы здесь абстрагироваться, это параметр var. Хотя я бы не рекомендовал его, возможно, вы можете попробовать что-то вроде этого:

private Consumer<Integer> createConsumer(Runnable... actions) {
    return i -> {
        if (actions.length < i)
            throw new IllegalArgumentException();
        actions[i].run();
    };
}

Вы можете создать пользователя, который принимает суровое количество Runnable объектов

var consumer = createConsumer(
            () -> System.out.println("First"),
            () -> System.out.println("Second"),
            () -> System.out.println("Third"));

и выполните его, как

consumer.accept(0);

Если вам также понадобится инструкция по умолчанию Consumer<Integer> createConsumer(Runnable... actions, Runnable defaultOption), она может оказаться излишней.

Однако это будет только некоторый функциональный стиль оператора switch, который может сделать вещи еще более сложными, когда параметр не начинается с 0, но какой-то другой номер (вам нужно вычесть до 0), или если вы переключаете блок, есть «пробелы» «числа (0, 1, 3, ...).

0
задан Novice Coder 19 January 2019 в 19:22
поделиться