#java #android #rxjava
Просматривая исходники библиотеки io.reactivex.rxjava2, в классе Observableобнаружила интересную (или странную?) вещь - 10 методов just, сигнатура которых выглядит следующим образом: just(T item) just(T item1, T item2) just(T item1, T item2, T item3) just(T item1, T item2, T item3, T item4) just(T item1, T item2, T item3, T item4, T item5) just(T item1, T item2, T item3, T item4, T item5, T item6) just(T item1, T item2, T item3, T item4, T item5, T item6, T item7) just(T item1, T item2, T item3, T item4, T item5, T item6, T item7, T item8) just(T item1, T item2, T item3, T item4, T item5, T item6, T item7, T item8, T item9) just(T item1, T item2, T item3, T item4, T item5, T item6, T item7, T item8, T item9, T item10) В чём глубокий смысл этого?.. Почему нельзя было сделать как-нибудь вроде just(T... item)? Почему методов именно 10?
Ответы
Ответ 1
Вероятно, это сделано, чтобы эти статические методы можно было приводить к функциональным интерфейсам семейства rx.functions.Func* public interface Func1extends Function { R call(T t); } ... public interface Func9 extends Function { R call(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6, T7 t7, T8 t8, T9 t9); }
Комментариев нет:
Отправить комментарий