Omówienie interfejsów Supplier oraz BooleanSupplier #8

Dzisiaj zajmiemy się dwoma ciekawymi interfejsami funkcjonalnymi. Pierwszy z nich to Supplier<T> oraz BooleanSupplier. Każdy z tych interfejsów posiada jedną metodę abstrakcyjną. Zaczynajmy więc.


1. Supplier<T>

Czyli tak naprawdę dostawca. Posiada abstrakcyjną metodę get(), która po wywołaniu zwróci nam obiekt, który zdefiniowaliśmy w naszej lambdzie. Na początek przyjrzyjmy się jak wygląda dokładnie ten interfejs:

Jak widzimy, cały interfejs jet bardzo prosty. Zobaczmy jak można go użyć w praktyce:

Na początek tworzymy pustą listę elementów Book. Definiujemy nasze wyrażenie lambda w oparciu o Supplier<T>, którego zadaniem jest tworzenie nowego obiektu Book. W pętli kręcę się 100 razy i dodaję do mojej listy kolejne książki za pomocą mojego dostawcy. Wywołanie metody get() realizuje stworzenie nowego elementu. Dla udowodnienia wszystkiego wypisuję wszystkie elementy 😉

Wynik:

2. BooleanSupplier

BooleanSupplier ma jedno zadanie, które realizuje za pomocą abstrakcyjnej metody getAsBoolean(). 

Zobaczmy jak możemy go użyć. Tworzę obiekt książka, a zaraz potem wyrażenie lambda oparte na BooleanSupplier. W tym wyrażeniu zwracam losowo true lub false.  Ostatecznie booleanSupplier.getAsBoolean()  służy mi do wypełnienia pola isPromotion w klasie Book.

Wynik:

To tyle jeśli chodzi o te interfejsy funkcjonalne. Pamiętajcie, że kod z przykładami jest oczywiście na githubie.

One thought on “Omówienie interfejsów Supplier oraz BooleanSupplier #8

  1. Pingback: Implementujemy własny Collector #19 – Zacznij Programować – To proste, ale musisz zacząć, a ta strona Ci w tym pomoże :)

Dodaj komentarz

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