Lata temu miałem wrażenie/przeczucie, że w dyskusjach z tagu #java na mikroblogu nie bierze udziału żaden serio ogarnięty javowiec z paroletnim doświadczeniem. Po latach mogę powiedzieć, że całkowicie się to sprawdza, a wszystkie tematy na mirko o Javie to kopalnia beki patrząc z perspektywy wieloletniego doświadzcenia. Od tematów technicznych po branżowe/ofertowe/zarobkowe mity. #mowiejakjest #oswiadczenie #programowanie
Języki programowania na GitHubie.
...dwa miliony aktywnych repo :)
z- 140
- #
- #
- #
- #
- #
- #
- 5
@akwes: Rozwaliłeś mnie. Macie totalnie #!$%@? projekt i wysnuwasz teorie o słuszności GITa. To, że nad Tobą pewnie są dziesiątki architektów i managerów nie oznacza, że podjeli dobre decyzje projektowe i są guru.
Po co wersjonować kilkadziesięt GB różnych binarek? bo nie uwierzę, że to wszystko tekst.
Nic nie musi być "łykane", nikt Ci nie każe checkoutować wszsytkich możliwych branchy/remotów
Po co wersjonować kilkadziesięt GB różnych binarek? bo nie uwierzę, że to wszystko tekst.
W przypadku GITa musiały by być w repo i być łykane
Nic nie musi być "łykane", nikt Ci nie każe checkoutować wszsytkich możliwych branchy/remotów
Optional
w Javie 8. Ogólnie zamieszczam i zamierzam zamieszczać treści związane z programowaniem, programowaniem funkcyjnym, #scala, #java i co innego ciekawego przyjdzie mi do głowy :)Link do aktualnego posta: http://blog.radoszewski.pl/programming/java/2015/04/19/java-optional.html
Miłego czytania!
Ach, zapomniałem wspomnieć, że czytanie odbywa się w języku
Czemu nie po prostu .map? flatMap generalnie używa się do czegoś zupełnie innego. Przykłady też słabe bo nie uciekasz od nulla (nadal w obrębie klasy używasz nulla i ofNullable), dodatkowo Book::getAuthor nie jest skrótem od book -> book.getAuthor(), "Optional" wcale nie jest "underestimated" tylko szumu o tym jest pełno, flatMap wcale nie jest "most used
Musiałeś coś pomieszać w swoim kodzie, gdyż map z Optional nie dbędzie wymagać funkcji mapującej Optional na X tylko T na X, więc sytuacji z Optional> by tutaj nie było. Możemy najzwyczajniej mapować w najzwyklejszy sposób zapominając o optionalach:
book.map(Book::getAuthor).map(Author::getName).map(String::trim).map(Stirng::length).forEach(System.out::println);
Więc nie musimy uciekać z optionala poprzez .get() itp. jest on automatycznie "unwrapowany".
flatMap działa analogicznie ale właśnie jak się domyślasz, gdy mamy pozagnieżdżane
Nie mniej nie "promowałbym" getterów setterów i flatMap w taki sposób. A już w szczególności, aby gettery i settery zwracały inny typ niż typ atrybutu.