Aktywne Wpisy
![bugzer](https://wykop.pl/cdn/c3397992/bugzer_A4lAja51C4,q60.jpg)
bugzer +45
Oglądam właśnie dokument o nieruchomościach w USA, Kalifornia. Jak najemca spóźnia się 5 dni z czynszem, dostaje żółta kartkę na drzwi i ma tydzień na wyprowadzkę. Jak tego nie zrobi wjeżdża szeryf normalnie z gnatem i siła go wywalają. Właściciel od razu wchodzi i zmienia zamki. Ma potem tydzień na odebranie swoich rzeczy a jak tego nie zrobi to leci na wysypisko na jego koszt. Wow. Jak spóźniasz się z czynszem to
![Sumiru](https://wykop.pl/cdn/c3397992/Sumiru_sbzlI8TLyN,q60.jpg)
Sumiru +45
Jeżeli macie zły dzień to przychodze was rozweselić. Podpisałem wczoraj angaż o podwyżke. Całe 83zł brutto więcej XDDDD To niezła podwyżka
Czerwiec 2023 4602zł brutto
Styczeń 2024 4685zł brutto
Witamy w polskim kołchozie na produkcji na 3 zmiany. Trzymajcie sie mireczki.
#praca #pracbaza #kolchoz #januszex #gownowpis #przegryw
Czerwiec 2023 4602zł brutto
Styczeń 2024 4685zł brutto
Witamy w polskim kołchozie na produkcji na 3 zmiany. Trzymajcie sie mireczki.
#praca #pracbaza #kolchoz #januszex #gownowpis #przegryw
![Sumiru - Jeżeli macie zły dzień to przychodze was rozweselić. Podpisałem wczoraj anga...](https://wykop.pl/cdn/c3201142/a20d0301127cbe24dd589550a34891b3392b7a4f24613effee0b5c49d01c0e88,w150.jpg?author=Sumiru&auth=36bd84f3cae72de2e7f9d8373e4c2c2b)
źródło: temp_file488187067292928771
Pobierz
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 angielskim!
#autoreklama
Ale mimo wszystko życzę dużej liczby czytelników :).
Ja tam nie potrzebuję się tego uczyć, potrzebuję prostego (w znaczeniu KISS) i pragmatycznego języka a nie generatorów accidental complexity ;).
Tak czy inaczej, skoro
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
Gdybym użył .map zamiast .flatMap dostałbym w wyniku Optional> - nie do końca o to chodziło. Byłbym też wdzięczny gdybyś mi wytłumaczył do czego się .flatMap używa :)
Masz rację, ale używanie nulla w jakimś zamkniętym kontekście to zupełnie coś innego
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
Proponuję nie odpisywać jednak "na szybko" tylko sprawdzić swoją wiedzę i kontekst. W moich przykładach wszystkie gettery zwracają
Optional
. W takim układzie:book.map(Book::getAuthor).map(Author::getName)
się nie skompiluje. A to dlatego, że jeśli
getAuthor
zwracaOptional
to użycie prostej funkcjimap
sprawi, że otrzymaszOptional>
. Jeśli chcesz się o to kłócić to przynajmniej najpierw napisz jakiś kod, który się skompiluje i uruchomi. Nic tutaj nie jestNie 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.