Pytania oznaczone «autoboxing»

216
Jak poprawnie porównać dwie liczby całkowite w Javie?

Wiem, że jeśli porównasz pierwotną liczbę całkowitą w pudełku ze stałą, taką jak: Integer a = 4; if (a < 5) a zostanie automatycznie rozpakowane i porównanie będzie działać. Co jednak dzieje się, gdy porównujesz dwa pola Integersi chcesz porównać równość lub mniej niż / więcej niż? Integer a...

114
Dziwny boks całkowity w Javie

Właśnie zobaczyłem kod podobny do tego: public class Scratch { public static void main(String[] args) { Integer a = 1000, b = 1000; System.out.println(a == b); Integer c = 100, d = 100; System.out.println(c == d); } } Po uruchomieniu ten blok kodu zostanie

111
Porównanie wartości długich w pudełkach 127 i 128

Chcę porównać dwie wartości Long obiektów przy użyciu ifwarunków. Gdy te wartości są mniejsze niż 128 , ifwarunek działa poprawnie, ale gdy są większe lub równe 128 , porównanie kończy się niepowodzeniem. Przykład: Long num1 = 127; Long num2 = 127; if (num1 == num2) { // Works ok } Porównanie...

81
Dlaczego używamy autoboxingu i unboxingu w Javie?

Autoboxing to automatyczna konwersja dokonywana przez kompilator języka Java między typami pierwotnymi i odpowiadającymi im klasami opakowania obiektów. Na przykład konwersja int na Integer, double na Double i tak dalej. Jeśli konwersja przebiega w drugą stronę, nazywa się to...