Viac na
Ako v Jave prevediem z int na Long?
Stále nachádzam ľudí, ktorí majú problémy s prechodom z long
na int
a nie naopak. Som si však istý, že nie som jediný, kto sa s týmto scenárom stretol pred prechodom z int
na Long
.
Jediné ďalšie odpovede, ktoré som našiel, boli "Stačí ho v prvom rade nastaviť ako Long", čo naozaj'nerieši otázku.
Pôvodne som sa pokúsil o castovanie, ale dostal som "Nemôžem castovať z int na Long
"
for (int i = 0; i < myArrayList.size(); ++i ) {
content = new Content();
content.setDescription(myArrayList.get(i));
content.setSequence((Long) i);
session.save(content);
}
Ako si viete predstaviť, som trochu zmätený, zasekol som sa pri používaní int
, pretože časť obsahu prichádza ako ArrayList
a entita, pre ktorú tieto informácie ukladám, vyžaduje poradové číslo ako Long.
207
3
Všimnite si, že je rozdiel medzi obsadením na
long
a obsadením naLong
. Ak vykonáte cast nalong
(primitívnu hodnotu), potom by sa mala automaticky zaškatuľkovať naLong
(referenčný typ, ktorý ju obalí).Alternatívne môžete použiť
new
na vytvorenie inštancieLong
a inicializovať ju hodnotouint
.Použite nasledujúce:
Long.valueOf(int);
.Ak už máte int napísaný ako Integer, môžete to urobiť: