@Whiskeyjack29: Nie do końca, można bo string posiada przeładowany operator == Internowanie wykonuje się dla stałych znanych w trakcie kompilacji, dlatego dla var a = "ab"; a = a
@Tarec: Bo kod jest brzydki i później masz pełno sprawdzan czy wszystko jest nullem, ładniej jest użyć optional albo jeśli wiele elementów to pusta lista, ewentualnie wyjątek zależy od logiki co to robi, ale zazwyczaj jak zwracasz nulla to da się tego uniknąć
@foodman: masz rację, == wywołuje String.Equals które sprawdza najpierw równość obiektów, potem sprawdza długość i na końcu wywołuje StringEqualsHelper który porównuje chary na wskaźnikach.
@Tarec: Jest różnica miedzy zwróceniem wartości która nie sygnalizuję tego że może być pusta przez co nie da się kontynuować wykonania głównej ścieżki oczekującej wartości (zwykle NPE) a wartość która może być pusta ale zmusza programistę do zaimplementowania dwóch ścieżek
@k_suchy: niech mnie ktos nauczy programować (╥﹏╥) jestem taki leniwy umysłowo i czasem wolę dłużej pomyśleć żeby zrobić coś krócej/szybciej że na pewno robiłbym najlepsze kody
No i zapomniałem o najważniejszym później możesz mieć nullpointer exception i będziesz się dziwil dlaczego i w którym momencie popełniłeś błąd
@niko444 Teraz to już bez przesady. Jeśli ignorujesz ścieżkę wykonania zwracającą nulla, o czym przestrzega Cię każde IDE, to sam jesteś już sobie winien. Nullpointer exception czy jak to się tam nazywa w Javie to dla mnie błąd początkującego programisty - doświadczony programista nie ma prawa zaskakiwać się tym, że
@Tarec: No właśnie nie każdy to oznacza dobrze załóżmy że ktoś robił ta metodę a ty masz ją użyć i potem jesteś zaskoczony i masz wyjątek w dziwnym miejscu zamiast mieć fail fast jeśli zwrócenie nulla ktoś uznał jako odpowiedź za np nieprawidłowe dane wejściowe do metody, tak czy inaczej nie powinno się zwracać nulla nigdy, już lepiej rzucać wyjątki o czym mówił autor w książce Clean Code.
źródło: comment_1643917684RlPSkbFY4JoNkIXC6vUeHI.jpg
PobierzKomentarz usunięty przez autora
Komentarz usunięty przez autora
I nie ma tam żadnego === tylko .equals co najwyżej...
¯\_(ツ)_/¯
Komentarz usunięty przez autora
@niko444 A to niby czemu?
@Whiskeyjack29: Nie do końca, można bo string posiada przeładowany operator ==
Internowanie wykonuje się dla stałych znanych w trakcie kompilacji, dlatego dla
var a = "ab";
a = a
@niko444 Teraz to już bez przesady. Jeśli ignorujesz ścieżkę wykonania zwracającą nulla, o czym przestrzega Cię każde IDE, to sam jesteś już sobie winien. Nullpointer exception czy jak to się tam nazywa w Javie to dla mnie błąd początkującego programisty - doświadczony programista nie ma prawa zaskakiwać się tym, że