Robię sobie zadania na LeetCode i odkrywam, że choć var mi bardzo życie ułatwia to też i utrudnia ;-)
Głównie gdy operuję kolekcjami i trzymam w nich rzeczy ws tylu Integer'ów ;-)
Często i gęsto mam w kodzie coś takiego:
void remove() {
var val = q.pollFirst();
if (maxes.peek()==val) maxes.pollFirst();
}
(co jest fragmentem impelmetnacji kolejki z max)I niby wszystko jest fajnie... ale przez to var i == są problemy.
Gdyby kod był:
void remove() {
int val = q.pollFirst();
if (maxes.peek()==val) maxes.pollFirst();
}
Co najgorsze, przez to, że to Integer to to będzie działać dla wielu przypadków ;-) (w większości JVMek dla -128 do 127 ;-))
Już się drugi raz tak zrobiłem w ciągu ostatnich 2 dni....
Podobne postybeta
Autoboxing/Unboxing nie lubi sie z var - nadal ;-)
Nieoczywiste oczywistości ;-) podstępny autoboxing ;-)
Potworność ;-) czyli mnożenie w 90 liniach ;-)
Człowiek się uczy całe życie - źle rozumiałem cache'owanie Integerów :-)
Programowanie trudne ;-)
Brak komentarzy:
Prześlij komentarz