Siema. Interesuje mnie, czy zawsze, w każdym możliwym przypadku NPE używacie Optionala? Czy jednak nie? Jeśli mamy linijkę np
object.getA().getB().getC();
to tych potencjalnych NPE jest sporo, ale użycie Optionala tutaj doda kolejny narzut kodu. Wiadomo, lepiej mieć kilka linijek więcej i mieć gwarancję że akurat NPE nam nie wy3.14eprzy działania programu.
Co też myślicie o następującej sytuacji - mamy sobie publiczną metodę X, która jako argument przyjmuje jakiś skomplikowany obiekt i wewnątrz tej metody jest taki łańcuch getów jak wyżej. Natomiast wiemy doskonale, że tej metody użyliśmy jedynie w 2 -3 miejscach i tam mamy pewność, że obiekt te wszystkie swoje pola i podpola ma. Czy fakt, że do danej metody ma się dostęp w obrębie całej aplikacji, powoduje konieczność "handlowania" potencjalnymi nullami (już pomińmy inne przypadki brzegowe)? Czy też przenosimy odpowiedzialność na użytkownika - wpakował nulla, to dostaje NPE na twarz i elo.
Zachęcam do wypowiadania się @Shalom @jarekr000000 @Koziołek @scibi92 @Krolik @katelx