@goompas: Popieram. Zawsze się mądrulek na uczelni/rozmowie kwalifikacyjnej znajdzie co wymyśla takie pierdoły, a jakby mi w firmie taki kod napisali to jedno ostatnie ostrzeżenie i out.
@PunkT: Znajomość corner case'ów, a ich uƶywanie w kodzie to dwie kompletnie róƶne rzeczy. Zawsze lepiej rozumieć dlaczego się czegoś nie robi niƶ "wiedzieć, bo tak mówili".
@b0lec: Wniosków brak. Łatwo by było napisać, ƶe java sucks jeśli 50 czasem jest równe 50, a czasem nie, ale wytłumaczenie jest dość sensowne, a ze mnie ƶaden javowy specjalista. Ew. +1 do rzeczy, na które trzeba uwaƶać.
Przypisanie Integer a = 150, wywołuje autoboxing więc jest równoznaczne z Integer a = new Integer(150);
new Integer(150) tworzy nowy obiekt. Drugie utworzenie tworzy, drugi obiekt. Porównując obiekty typu Integer, porównujesz ich referencje. Skoro są to dwa różne obiekty, to te referencje są
kolejno:
porównanie obiektów
autoboxing ⟶ obiekty te same w zakresie [-128,127]
autoboxing nie działa dla konstruktora Integer
ale operator++ go wymusza, jeśli się da.
#programowanie #java #kq
A i właśnie, może jakieś wnioski na koniec? :-)
Przypisanie Integer a = 150, wywołuje autoboxing więc jest równoznaczne z Integer a = new Integer(150);
new Integer(150) tworzy nowy obiekt. Drugie utworzenie tworzy, drugi obiekt. Porównując obiekty typu Integer, porównujesz ich referencje. Skoro są to dwa różne obiekty, to te referencje są