Περισσότερα
Πώς μπορώ να μετατρέψω από int σε Long στη Java;
Συνεχίζω να βρίσκω τόσο εδώ όσο και στο Google ανθρώπους που έχουν προβλήματα να πηγαίνουν από το long
στο int
και όχι το αντίστροφο. Ωστόσο, είμαι σίγουρος ότι δεν είμαι ο μόνος που έχει αντιμετωπίσει αυτό το σενάριο πριν πάει από το int
στο Long
.
Οι μόνες άλλες απαντήσεις που βρήκα ήταν "Απλά ορίστε το ως Long εξαρχής" το οποίο πραγματικά δεν απαντά στην ερώτηση.
Αρχικά δοκίμασα να κάνω casting αλλά μου έρχεται το "Cannot cast from int to Long
",
for (int i = 0; i < myArrayList.size(); ++i ) {
content = new Content();
content.setDescription(myArrayList.get(i));
content.setSequence((Long) i);
session.save(content);
}
Όπως μπορείτε να φανταστείτε είμαι λίγο μπερδεμένος, έχω κολλήσει χρησιμοποιώντας int
αφού κάποιο περιεχόμενο έρχεται ως ArrayList
και η οντότητα για την οποία αποθηκεύω αυτές τις πληροφορίες απαιτεί τον αριθμό ακολουθίας ως Long.
207
3
Σημειώστε ότι υπάρχει διαφορά μεταξύ ενός cast σε
long
και ενός cast σεLong
. Εάν κάνετε cast σεlong
(μια πρωτόγονη τιμή) τότε θα πρέπει να γίνει αυτόματα boxed σεLong
(ο τύπος αναφοράς που την περιβάλλει).Θα μπορούσατε εναλλακτικά να χρησιμοποιήσετε το
new
για να δημιουργήσετε μια περίπτωση τουLong
, αρχικοποιώντας το με την τιμήint
.Χρησιμοποιήστε τα ακόλουθα:
Long.valueOf(int);
.Αν έχετε ήδη το int τυποποιημένο ως Integer, μπορείτε να το κάνετε αυτό: