Wpis z mikrobloga

@Myrcin-: Integery jak się porównuje od -128 do 127 za pomocą operatora ==, to zwracają true gdy sa równe co do wartości. 0 się zawiera w tym zakresie, 20011 już nie
  • Odpowiedz
@qwerew:
Nie generalizuj. ( ͡° ͜ʖ ͡°)
Tyczy się to wywołań Integer.vauleOf(x) (a co za tym idzie unboxingu).
Jak zrobisz new Integer(x), to żadne sztuczki nie pomogą. ( ͡° ͜ʖ ͡°)
  • Odpowiedz
@Myrcin-: Klasa Integer, inner static IntegerCache. Dla zobaczenia samemu jak to działa. Ale generalnie jest jak mówią, z uwagą od @sorhu . Żebyś się nie zdziwił że System.out.println(new Integer(1) == new Integer(1)); daje false.
Plus można edytować wielkośc cachu (min do 127) przez (nie generalizować :P że do 127 ) VM propy: "java.lang.Integer.IntegerCache.high"
  • Odpowiedz