Αυτόματη αποστολή και αποσύνδεση Java

Σε αυτό το σεμινάριο, θα μάθουμε για την αυτόματη αποστολή και αποσυμπίεση Java με τη βοήθεια παραδειγμάτων.

Java Autoboxing - Primitive Type to Wrapper Object

Στο autoboxing , ο μεταγλωττιστής Java μετατρέπει αυτόματα πρωτόγονους τύπους στα αντίστοιχα αντικείμενα κλάσης περιτυλίγματος. Για παράδειγμα,

 int a = 56; // autoboxing Integer aObj = a; 

Το Autoboxing έχει ένα μεγάλο πλεονέκτημα ενώ συνεργάζεται με συλλογές Java.

Παράδειγμα 1: Αυτόματη αποστολή Java

 import java.util.ArrayList; class Main ( public static void main(String() args) ( ArrayList list = new ArrayList(); //autoboxing list.add(5); list.add(6); System.out.println("ArrayList: " + list); ) ) 

Παραγωγή

 Λίστα Array: (5, 6) 

Στο παραπάνω παράδειγμα, δημιουργήσαμε μια λίστα πίνακα τύπου Integer. Ως εκ τούτου, η λίστα πίνακα μπορεί να περιέχει μόνο αντικείμενα Integerτύπου.

Παρατηρήστε τη γραμμή,

 list.add(5); 

Εδώ, περνάμε πρωτόγονη τιμή τύπου. Ωστόσο, λόγω της αυτόματης εμφάνισης , η αρχική τιμή μετατρέπεται αυτόματα σε Integerαντικείμενο και αποθηκεύεται στη λίστα πίνακα.

Java Unboxing - Αντικείμενα περιτύλιξης σε πρωτόγονους τύπους

Κατά την αποσύνδεση , ο μεταγλωττιστής Java μετατρέπει αυτόματα αντικείμενα κλάσης περιτυλίγματος στους αντίστοιχους πρωτόγονους τύπους τους. Για παράδειγμα,

 // autoboxing Integer aObj = 56; // unboxing int a = aObj; 

Όπως το αυτόματο κιβώτιο , το unboxing μπορεί επίσης να χρησιμοποιηθεί με συλλογές Java.

Παράδειγμα 2: Αποσυμπίεση Java

 import java.util.ArrayList; class Main ( public static void main(String() args) ( ArrayList list = new ArrayList(); //autoboxing list.add(5); list.add(6); System.out.println("ArrayList: " + list); // unboxing int a = list.get(0); System.out.println("Value at index 0: " + a); ) ) 

Παραγωγή

 ArrayList: (5, 6) Τιμή στο ευρετήριο 0: 5 

Στο παραπάνω παράδειγμα, παρατηρήστε τη γραμμή,

 int a = list.get(0); 

Εδώ, η get()μέθοδος επιστρέφει το αντικείμενο στο ευρετήριο 0. Ωστόσο, λόγω της αποσυμπίεσης , το αντικείμενο μετατρέπεται αυτόματα στον πρωτόγονο τύπο intκαι εκχωρείται στη μεταβλητή a.

ενδιαφέροντα άρθρα...