Έχετε ακούσει κάτι για το boxing και unboxing στη Java;
sobes.tech AI
Απάντηση από AI
Ναι, το έχω ακούσει. Το boxing (συσκευασία) και το unboxing (αποσυσκευασία) στην Java είναι αυτόματες μετατροπές μεταξύ των πρωταρχικών τύπων δεδομένων και των αντίστοιχων κλάσεων-περιτυλίγματος.
Boxing: Αυτόματη μετατροπή ενός πρωταρχικού τύπου σε ένα αντικείμενο της αντίστοιχης κλάσης-περιτυλίγματος.
Unboxing: Αυτόματη μετατροπή ενός αντικειμένου της κλάσης-περιτυλίγματος πίσω στον πρωταρχικό του τύπο.
Παραδείγματα:
// Boxing
int primitiveInt = 10;
Integer wrappedInt = primitiveInt; // Αυτόματο boxing
// Unboxing
Integer anotherWrappedInt = 20;
int anotherPrimitiveInt = anotherWrappedInt; // Αυτόματο unboxing
Το boxing και το unboxing εισήχθησαν στη Java 5 για να απλοποιήσουν τη δουλειά με συλλογές και μεθόδους που αναμένουν αντικείμενα, όχι πρωταρχικούς τύπους.
Είναι σημαντικό να θυμάστε ότι το boxing και το unboxing μπορούν να επηρεάσουν την απόδοση λόγω της δημιουργίας νέων αντικειμένων και μπορούν να οδηγήσουν σε NullPointerException κατά το unboxing αν το αντικείμενο-περιτύλιγμα είναι null.