Методы just в RxJava

196
14 октября 2017, 17:32

Просматривая исходники библиотеки io.reactivex.rxjava2, в классе Observable<T> обнаружила интересную (или странную?) вещь - 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?

Answer 1

Вероятно, это сделано, чтобы эти статические методы можно было приводить к функциональным интерфейсам семейства rx.functions.Func*

public interface Func1<T, R> extends Function {
    R call(T t);
}
...
public interface Func9<T1, T2, T3, T4, T5, T6, T7, T8, T9, R> extends Function {
    R call(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6, T7 t7, T8 t8, T9 t9);
}
READ ALSO
Приложение &ldquo;Тесты&rdquo; андроид

Приложение “Тесты” андроид

Есть LinkedHashMap, где ключ - это вопрос, а значение TreeMap, в котором ключи - это ответы, а значение bool(true ответ верный, false нет)

166
Конвертировать из List&lt;Person&gt; в Map&lt;String, List&lt;Person&gt;&gt;

Конвертировать из List<Person> в Map<String, List<Person>>

Есть сущность PersonУ нее есть геттер getId()

190
Использование sharedPreferences

Использование sharedPreferences

есть приложение под android, в нем класс Sharedpref

148