Αυτό το άρθρο θα αναλύσει τη μετατροπή του 'long' σε 'int' στην Java.
Τι είναι το 'long' και το 'int' στην Java;
Ο ' μακρύς Ο τύπος στην Java κυμαίνεται από ' -9223372036854775808 ' προς την ' 922337203685477580 'και διατίθεται' 64 ' bits. Ο ' ενθ 'ο τύπος, ωστόσο, καταλαμβάνει' 32 ' bits που κυμαίνονται από ' -2147483648 ' προς την ' 2147483647 '. Αυτό σημαίνει ότι οποιοσδήποτε αριθμός ' ενθ Οι τύποι μπορούν εύκολα να υποστηριχθούν από ένα μακρύς πληκτρολογήστε αλλά δεν συμβαίνει πάντα τις περισσότερες φορές.
Πώς να μετατρέψετε το 'long' σε 'int' χρησιμοποιώντας Java;
Μετατρέπω ' μακρύς ' προς την ' ενθ ” στην Java, εφαρμόστε τις ακόλουθες προσεγγίσεις:
Προσέγγιση 1: Μετατροπή long σε int στην Java χρησιμοποιώντας τη μέθοδο 'Math.toIntExact()'
Ο ' Math.toIntExact() Η μέθοδος ' στην Java δίνει το ' ενθ “αξία από την παρεχόμενη” μακρύς ' διαφωνία. Αυτή η μέθοδος μπορεί να εφαρμοστεί για να περάσει απλώς το ' μακρύς ” την τιμή ως όρισμα και να την επιστρέψετε ως ακέραιο.
Σύνταξη
Μαθηματικά . toIntExact ( μακρύς val )
Σε αυτή τη σύνταξη, ' μακρύς βαλ Το ' αναφέρεται στην τιμή που πρέπει να επιστραφεί ως ' ενθ '.
Παράδειγμα
Ας δούμε γενικά το ακόλουθο παράδειγμα:
δημόσιο τάξη longtoint2 {
δημόσιο στατικός κενός κύριος ( Σειρά [ ] args ) {
μακρύς επιλογή 1 = 8624675L ;
μακρύς val2 = 3482398L ;
ενθ updateVal1 = Μαθηματικά . toIntExact ( επιλογή 1 ) ;
ενθ updVal2 = Μαθηματικά . toIntExact ( val2 ) ;
Σύστημα. έξω . println ( 'Η ακέραια τιμή είναι:' + updateVal1 ) ;
Σύστημα. έξω . println ( 'Η ακέραια τιμή είναι:' + updVal2 ) ;
}
}
Σε αυτό το απόσπασμα κώδικα, εκτελέστε τα ακόλουθα βήματα:
- Αρχικά, αρχικοποιήστε τα δύο ' μακρύς ' αξίες.
- Σημείωση: Το καθορισμένο ' μεγάλο ' στις τιμές αντιπροσωπεύουν και διαφοροποιούν το ' μακρύς 'τιμές από ' ενθ ' αξίες.
- Μετά από αυτό, εφαρμόστε το ' Math.toIntExact() ” μεθοδεύει δύο φορές και συσσωρεύει και τις δύο αρχικοποιημένες μεγάλες τιμές, ως παράμετρο για να τις μετατρέψει σε ακέραιους αριθμούς.
- Τέλος, καταγράψτε τις μετατρεπόμενες ακέραιες τιμές στην κονσόλα.
Παραγωγή
Στο παραπάνω αποτέλεσμα, μπορεί να αναλυθεί ότι εμφανίζονται οι αντίστοιχες ακέραιες τιμές.
Σημείωση: Η διαδικασία μετατροπής (μακράς διάρκειας σε int) λειτουργεί καλά όταν η τιμή του ' μακρύς Το ' είναι μικρότερο ή ίσο με τη μέγιστη τιμή του ' ενθ », δηλαδή (2147483647). Στην άλλη περίπτωση, παρουσιάζεται σφάλμα και μπορεί να υπάρξει και απώλεια δεδομένων.
Επίδειξη
Ας παρατηρήσουμε την έννοια που συζητήσαμε που οδηγεί στον περιορισμό:
Στο παραπάνω παράδειγμα, απλώς αυξήστε το τελευταίο ' μακρύς ” τιμή και εκτελέστε τη μετατροπή. Αυτό θα οδηγήσει στη συνάντηση « Υπερχείλιση ακέραιου αριθμού ' περιορισμός αφού η τιμή μετατροπής υπερβαίνει το ' ενθ ” μέγιστο όριο.
Προσέγγιση 2: Μετατροπή long σε int σε Java χρησιμοποιώντας 'Narrow Typecasting'
' Typecasting ” αντιστοιχεί στην εκχώρηση μιας τιμής ενός πρωτόγονου τύπου δεδομένων σε έναν άλλο. Σε αυτή την περίπτωση, το « στένωση δακτυλογράφησης ' τίθεται σε ισχύ αφού ο υψηλότερος τύπος δεδομένων, δηλ. ' μακρύς ' μετατρέπεται στον κατώτερο τύπο δεδομένων ' ενθ '. Αυτό μπορεί να επιτευχθεί τοποθετώντας απλώς την τιμή που πρέπει να μετασχηματιστεί ακολουθούμενη από τον επιθυμητό τύπο σε παρένθεση.
Παράδειγμα
Το ακόλουθο παράδειγμα εξηγεί την έννοια που συζητήθηκε:
δημόσιο στατικός κενός κύριος ( Σειρά [ ] args ) {
μακρύς επιλογή 1 = 647467L ;
μακρύς val2 = 348 239 λίτρα ;
ενθ updateVal1 = ( ενθ ) επιλογή 1 ;
ενθ updVal2 = ( ενθ ) val2 ;
Σύστημα. έξω . println ( 'Η ακέραια τιμή είναι:' + updateVal1 ) ;
Σύστημα. έξω . println ( 'Η ακέραια τιμή είναι:' + updVal2 ) ;
}
}
Στις παραπάνω γραμμές κώδικα:
- Ομοίως, αρχικοποιήστε τα δύο ' μακρύς ' αξίες.
- Στο επόμενο βήμα, εφαρμόστε το ' στενή δακτυλογράφηση ' προσέγγιση τοποθετώντας την τιμή που πρέπει να μετατραπεί ακολουθούμενη από τον επιθυμητό τύπο, δηλ. ' ενθ '.
- Τέλος, εμφανίστε τη μετατροπή ' ενθ ' τιμές στην κονσόλα.
Παραγωγή
Σε αυτή την έξοδο, μπορεί να φανεί ότι το « μακρύς Οι τιμές μετατρέπονται σε ενθ αξίες, κατάλληλα.
Προσέγγιση 3: Μετατροπή μεγάλου αντικειμένου σε int στην Java χρησιμοποιώντας τη μέθοδο 'intValue()'
Ο ' intValue() Η μέθοδος ' στην Java επιστρέφει την τιμή του συσχετισμένου αριθμού με τη μορφή ' ενθ '. Αυτή η μέθοδος μπορεί να εφαρμοστεί για να μετατρέψει απλώς το συσχετισμένο long ' αντικείμενα ” σε ακέραιους αριθμούς.
Παράδειγμα
Ανατρέξτε στο παρακάτω παράδειγμα για να πραγματοποιήσετε τη μετατροπή:
δημόσιο στατικός κενός κύριος ( Σειρά [ ] args ) {
Long val1 = νέος Μακρύς ( 8624675L ) ;
Μεγάλη βαλβίδα 2 = νέος Μακρύς ( 3482398L ) ;
ενθ updateVal1 = επιλογή 1. intValue ( ) ;
ενθ updVal2 = val2. intValue ( ) ;;
Σύστημα. έξω . println ( 'Η ακέραια τιμή είναι:' + updateVal1 ) ;
Σύστημα. έξω . println ( 'Η ακέραια τιμή είναι:' + updVal2 ) ;
}
}
Στο παραπάνω μπλοκ κώδικα:
- Πρώτα απ 'όλα, δημιουργήστε δύο ' μακρύς 'αντικείμενα μέσω του ' νέος 'λέξη-κλειδί και το ' Μακρύς() ” κατασκευαστής, αντίστοιχα.
- Στις παραμέτρους του κατασκευαστή, καθορίστε τις μεγάλες τιμές που πρέπει να μετατραπούν σε ' ενθ '.
- Τώρα, συσχετίστε το ' intValue() ' μέθοδος και με τα δύο δημιουργημένα αντικείμενα και μετατροπή των συσσωρευμένων ' μακρύς 'τιμές σε ' ακέραιοι αριθμοί ” και εμφανίστε τα.
Παραγωγή
Το παραπάνω αποτέλεσμα υποδηλώνει ότι οι τιμές των αντικειμένων μετατρέπονται σε ' ακέραιοι αριθμοί ” κατάλληλα.
συμπέρασμα
Για να μετατρέψετε το long σε int στην Java, εφαρμόστε το ' Math.toIntExact() 'μέθοδος, η ' Στενή Τυπογραφία 'προσέγγιση ή η ' intValue() 'μέθοδος. Αυτές οι προσεγγίσεις μετατρέπουν την αρχικοποιημένη long τιμή και αντικείμενο σε ακέραιο υπό τον όρο ότι το ' μακρύς Η τιμή που πρέπει να μετατραπεί δεν υπερβαίνει τη μέγιστη τιμή του ενθ '. Αυτό το ιστολόγιο καθοδηγείται στη μετατροπή long σε int χρησιμοποιώντας Java.