Выберите метод для применения к потоку на основе значения перечисления в Java 11.JAVA

Программисты JAVA общаются здесь
Anonymous
Выберите метод для применения к потоку на основе значения перечисления в Java 11.

Сообщение Anonymous »

У меня есть следующее перечисление.

Код: Выделить всё

public enum AggregationType {
MIN,
MAX,
AVERAGE
}
Предположим, что у меня есть функция, в которую я передаю значение перечисления, например:

Код: Выделить всё

public Float someFunction(AggregationType e) {
return (float) provides.stream()
.mapToDouble(this::someFunc)
.average()
.orElse(-1);
}
Я хочу применить эти методы .average() .min() .max() к потоку на основе значения перечисления.< /p>
Как мне этого добиться? Я не хочу использовать просто функцию переключения внутри someFunction, а скорее в этом операторе возврата.
Поэтому я хочу иметь что-то вроде:

Код: Выделить всё

public Float someFunction(final AggregationType e) {
return (float) provides.stream()
.mapToDouble(this::someFunc)
.decideWhichMethodShouldBeUsed()
.orElse(-1);
}
где defineWhichMethodShouldBeUsed() решает, какую функцию использовать на основе перечисления.


Подробнее здесь: https://stackoverflow.com/questions/709 ... in-java-11

Вернуться в «JAVA»