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.
Všimnite si, že je rozdiel medzi obsadením na long
a obsadením na Long
. Ak vykonáte cast na long
(primitívnu hodnotu), potom by sa mala automaticky zaškatuľkovať na Long
(referenčný typ, ktorý ju obalí).
Alternatívne môžete použiť new
na vytvorenie inštancie Long
a inicializovať ju hodnotou int
.