Porovnani v Jave
Miroslav Kalina
miroslav.kalina na styrax.cz
Čtvrtek Srpen 23 12:49:02 CEST 2012
Zdravím,
Nejedná se přímo o předgenerované typy, ale o tzv. IntegerCache,
do které se ukládají objekty typu int právě v rozsahu -128 až 127, podívejte
se sem:
http://www.docjar.com/html/api/java/lang/Integer.java.html
Hledejte třídu:
private static class IntegerCache
resp. její použití v metodě public static Integer valueOf(int
i) hned za definicí této třídy (přibližně uprostřed souboru).
M.Kalina, Brno
_____
From: hw-list-bounces na list.hw.cz [mailto:hw-list-bounces na list.hw.cz] On
Behalf Of Jiří Vojtek
Sent: Thursday, August 23, 2012 12:21 PM
To: 'HW-news'
Subject: RE: Porovnani v Jave
Je to proto, ze tyto hodnoty existuji jako predgenerovane objekty :)
Protoze v Jave je vsechno objekt. Pokud date cislo vyssi tak se ten objekt
teprve vytvori, ale pro zvyseni rychlosti pro mala cisla uz to je
predvarene.
J.V.
-----Original Message-----
From: hw-list-bounces na list.hw.cz [mailto:hw-list-bounces na list.hw.cz] On
Behalf Of RV
Sent: Thursday, August 23, 2012 11:32 AM
To: HW-news
Subject: Porovnani v Jave
Zdravim,
snazim se doucit nejak systematicky Javu a pri probirani operatoru jsem
narazil na toto:
Integer i = 5;
Integer i2 = 5;
System.out.println(i == i2); //true
Integer i3 = 128;
Integer i4 = 128;
System.out.println(i3 == i4); //false
ja vim, ze se to takto delat nema, ze je na to treba pouzivat metodu equals,
ale jak k tomu vyhodnoceni ten zatracene javovskej VM dospeje!
Zkousel jsem to opravdu spustit a je to opravdu tak.
Do hodnoty 127 oboji vraci true. Zrejme to souvisi s obalenim objektovym
wraperem Integer - zrejme se tedy nevraci hodnota ale jen odkaz na instanci,
ktera samozrejme neni stejna. Ale proc to proboha je jen v tom rozsahu
-128/127.
--
Radek Vicek
_______________________________________________
HW-list mailing list - sponsored by www.HW.cz
Hw-list na list.hw.cz
http://list.hw.cz/mailman/listinfo/hw-list
_______________________________________________
HW-list mailing list - sponsored by www.HW.cz
Hw-list na list.hw.cz
http://list.hw.cz/mailman/listinfo/hw-list
__________ Informace od ESET Endpoint Antivirus, verze databaze 7410
(20120823) __________
Tuto zpravu proveril ESET Endpoint Antivirus.
http://www.eset.cz
__________ Informace od ESET Endpoint Antivirus, verze databaze 7410
(20120823) __________
Tuto zpravu proveril ESET Endpoint Antivirus.
http://www.eset.cz
__________ Informace od ESET Endpoint Antivirus, verze databaze 7410
(20120823) __________
Tuto zpravu proveril ESET Endpoint Antivirus.
http://www.eset.cz
------------- další část ---------------
HTML příloha byla odstraněna...
URL: <http://list.hw.cz/pipermail/hw-list/attachments/20120823/7788dcc6/attachment.htm>
Další informace o konferenci Hw-list