Я хочу отфильтровать элементы, испускаемые Observable, но у меня есть много критериев фильтрации, и мне интересно, как лучше это сделать - с точки зрения производительности
Один из способов - вызвать one метод «filter», который имеет все критерии в нескольких операторах «if» и возвращает окончательный результат фильтрации, и вызывает:
observable
.filter(this::filter)
Другим способом было бы иметь несколько методов «filterX»,каждый фильтрует по определенным критериям и называет их в цепочке:
observable
.filter(this::filterX)
.filter(this::filterY)
.filter(this::filterZ)
Мой вопрос - есть ли разница в производительности, и какой из этих двух вариантов является «лучшей практикой»?Я нахожу второй более приятным и читабельным, но в настоящее время я столкнулся с методом «фильтра» с ~ 30 выражениями if, и мне интересно, стоит ли мне беспокоиться и рефакторировать его во втором подходе.
Спасибо!