Wpis z mikrobloga

Standardowo, jaki jest wynik próby kompilacji i wykonania poniższego kodu?

```

final Integer a = 100;
final Integer b = 100;
Integer c = 200;
Integer d = 200;
final boolean ab = (a == b);
final boolean cd = (c == d);
System.out.println(ab + ", " + cd);
```

Jak zawsze, odpowiedzi i podpowiedzi zostaną usunięte a autorzy zablokowani.

#interfacesmieci
#java #naukaprogramowania

Standardowo, jaki jest wynik próby kompilacji i wykonania poniższego kodu?

  • Błąd kompilacji 8.9% (98)
  • true, true 37.5% (412)
  • false, false 8.6% (94)
  • true, false 15.9% (175)
  • false, true 7.7% (84)
  • nie wiem 21.4% (235)

Oddanych głosów: 1098

  • 104
  • Odpowiedz
@interface: przepraszam, nie wiedziałem, że "podpowiedź" dotycząca manipulowaniem środowiskiem (która może zmienić poprawną odpowiedź) jest podpowiedzą.

  • Odpowiedz
@interface: nic co napisałem nie było podpowiedzą, tylko że źle dobrałeś liczby ;/ Wystarczyło dać ujemne czy też zmienić typ na np Long i zagadka byłaby ok - mając tylko jedną poprawną odpowiedz.
A zagadki z enum nie kojarzę - ale jak była związana z javą 9 to może nie wiedziałem - bo nie znam wszystkich zmian, no ale to musiałbym wiedzieć o jaką zagadkę chodzi, może jej nawet nie widziałem.
  • Odpowiedz
@AwizisieAkat zgodzil sie napisac wyjasnienie dzisiaj wieczorem (czy kiedykolwiek ma wolne) \o/

@63274682374: moze to bylaby lepsza forma dla wszystkich zeby pytac jakas losowa osobe o napisanie gruntownego wyjasnienia problemu i dzialania, zamiast usuwac szczatkowe odpowiedz/podpowiedzi?
  • Odpowiedz
JLS definiuje dla Long minimalny zakres cacheu?


@63274682374: JLS w ogole cos mowi na ten temat? znalazlem tylko ze MOZE cachowac, ale nie musi i jest to wybor dla developerow implementacji, i nadal jest to konfigurowalne, chyba nie warto polega ze to jest kontrakt? na dodatek niektore narzedzia do benchmarkowania same dodaja flage AutoBoxCacheMax...
  • Odpowiedz
@interface: z JLS

If the value p being boxed is the result of evaluating a constant expression (§15.28) of type boolean, char, short, int, or long, and the result is true, false, a character in the range '\u0000' to '\u007f' inclusive, or an integer in the range -128 to 127 inclusive, then let a and b be the results of any two boxing conversions of p. It is always the case
  • Odpowiedz
@63274682374: Bardziej chyba o ten fragment chodzi:

Ideally, boxing a given primitive value p, would always yield an identical reference. In
practice, this may not be feasible using existing implementation techniques
. The rules above

are a pragmatic compromise. The final clause above requires that certain common values
always be boxed into indistinguishable objects. The implementation may cache these, lazily
or eagerly. For other values, this formulation disallows any assumptions about
  • Odpowiedz
@interface: wynik zalezy od tego jak sobie to uruchomisz

java -Djava.lang.Integer.IntegerCache.high=200
java -Djava.lang.Integer.IntegerCache.high=199
  • Odpowiedz