Pytania oznaczone «boxing»

323
Dlaczego potrzebujemy boksowania i rozpakowywania w C #?

Dlaczego potrzebujemy boksowania i rozpakowywania w C #? Wiem, co to jest boksowanie i rozpakowywanie, ale nie potrafię pojąć jego prawdziwego wykorzystania. Dlaczego i gdzie mam go używać? short s = 25; object objshort = s; //Boxing short anothershort = (short)objshort;

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...

153
Dlaczego tablice Pythona są wolne?

Spodziewałem array.arraysię, że będę szybszy niż listy, ponieważ tablice wydają się być rozpakowane. Jednak otrzymuję następujący wynik: In [1]: import array In [2]: L = list(range(100000000)) In [3]: A = array.array('l', range(100000000)) In [4]: %timeit sum(L) 1 loop, best of 3: 667 ms per...

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...

85
Występowanie boksu w C #

Próbuję zebrać wszystkie sytuacje, w których boks występuje w C #: Konwersja typu wartości na System.Objecttyp: struct S { } object box = new S(); Konwersja typu wartości na System.ValueTypetyp: struct S { } System.ValueType box = new S(); Konwersja wartości typu wyliczenia na...

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...