Выберите метод для применения к потоку на основе значения перечисления в 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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