Pozostałe interfejsy funkcjonalne #9

      Brak komentarzy do Pozostałe interfejsy funkcjonalne #9

Przed nami ostatnia partia interfejsów funkcjonalnych, jakie znalazły się w Javie 8. Są to wyspecjalizowane wersje interfejsów, które już omówiliśmy w poprzednich odcinkach. Zdefiniowane są na konkretnych typach i głównie tym się różnią od generycznych interfejsów, które omówiliśmy.

ObjDoubleConsumer<T> – akceptuje dowolny obiekt i wartość double, nie zwraca wyniku. Jest to wyspecjalizowany interfejs, patrz: BiConsumer.

Wynik:

 

ObjIntConsumer<T> – akceptuje dowolny obiekt i wartość integer, nie zwraca wyniku. Jest to wyspecjalizowany interfejs, patrz: BiConsumer.

Wynik:

 

ObjLongConsumer<T> – akceptuje dowolny obiekt i wartość long, nie zwraca wyniku. Jest to wyspecjalizowany interfejs, patrz: BiConsumer.

Wynik:

 

ToDoubleBiFunction<T,U> – akceptuje dwa argumenty i zwraca wynik w postaci double.
Jest to wyspecjalizowany interfejs, patrz: BiFunction.

Wynik:

 

ToDoubleFunction<T> – akceptuje dowolny obiekt i zwraca wynik w postaci double.
Jest to wyspecjalizowany interfejs, patrz: BiFunction.

Wynik:

 

DoubleBinaryOperator – akceptuje dwa argumenty w postaci double i zwraca wynik double.
Jest to wyspecjalizowany interfejs, patrz: BinaryOperator.

Wynik:

 

DoubleConsumer – akceptuje argument w postaci double, nie zwraca wyniku.
Jest to wyspecjalizowany interfejs, patrz: Consumer.

Wynik:

 

DoubleFunction<R>  – akceptuje argument w postaci double i zwraca wynik jako dowolny obiekt.
Jest to wyspecjalizowany interfejs, patrz: Function.

Wynik:

 

DoublePredicate – akceptuje argument double i zwraca wynik w postaci boolean.
Jest to wyspecjalizowany interfejs, patrz: Predicate.

Wynik:

 

DoubleSupplier – dostarcza obiekty typu double.
Jest to wyspecjalizowany interfejs, patrz: Supplier.

Wynik:

 

DoubleToIntFunction – akceptuje argument double, zwraca wartość integer.
Jest to wyspecjalizowany interfejs, patrz: Function.

Wynik:

 

DoubleToLongFunction – akceptuje argument double, zwraca wartość long.
Jest to wyspecjalizowany interfejs, patrz: Function.

Wynik:

 

DoubleUnaryOperator –  akceptuje argument double, zwraca wartość double.
Jest to wyspecjalizowany interfejs, patrz: UnaryOperator.

Wynik:

Omówione wyżej interfejsy mają także swoje wersje, które operują na Longach czy Integerach:

LongBinaryOperator, LongConsumer, LongFunction<R>, LongPredicate, LongSupplier, LongToDoubleFunction, LongToIntFunction, LongUnaryOperator, ToLongBiFunction<T,U>, ToLongFunction<T>

IntBinaryOperator, IntConsumer, IntFunction<R>, IntPredicate, IntSupplier, IntToDoubleFunction, IntToLongFunction,  IntUnaryOperator, ToIntBiFunction<T,U>, ToIntFunction<T>

Nie będziemy jednak ich omawiać, bo zasada działania jest taka sama. Ważne jest abyśmy wiedzieli, że mamy do dyspozycji gotowe interfejsy, które operują na konkretnych typach i nie musimy korzystać z wersji generycznych.

Cały kod znajdziecie także na githubie.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *