Τάξη Wrapper Java (με παραδείγματα)

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

Οι κατηγορίες περιτύλιγμα σε Java χρησιμοποιείται για να μετατρέψει πρωτόγονες μορφές ( int, char, float, κλπ) σε αντίστοιχα αντικείμενα.

Κάθε ένας από τους 8 πρωτόγονους τύπους έχει αντίστοιχες τάξεις περιτυλίγματος.

Πρωτόγονος τύπος Κατηγορία περιτυλίγματος
byte Byte
boolean Boolean
char Character
double Double
float Float
int Integer
long Long
short Short

Μετατροπή πρωτόγονου τύπου σε αντικείμενα περιτύλιξης

Μπορούμε επίσης να χρησιμοποιήσουμε τη valueOf()μέθοδο για τη μετατροπή πρωτόγονων τύπων σε αντίστοιχα αντικείμενα.

Παράδειγμα 1: Πρωτόγονοι τύποι για αναδίπλωση αντικειμένων

 class Main ( public static void main(String() args) ( // create primitive types int a = 5; double b = 5.65; //converts into wrapper objects Integer aObj = Integer.valueOf(a); Double bObj = Double.valueOf(b); if(aObj instanceof Integer) ( System.out.println("An object of Integer is created."); ) if(bObj instanceof Double) ( System.out.println("An object of Double is created."); ) ) ) 

Παραγωγή

Δημιουργείται ένα αντικείμενο Integer. Δημιουργείται ένα αντικείμενο Double.

Στο παραπάνω παράδειγμα, χρησιμοποιήσαμε τη valueOf()μέθοδο για τη μετατροπή των πρωτόγονων τύπων σε αντικείμενα.

Εδώ, χρησιμοποιήσαμε τον instanceofτελεστή για να ελέγξουμε εάν τα παραγόμενα αντικείμενα είναι Integerή Doubleτύπου ή όχι.

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

 int a = 5; // converts into object Integer aObj = a; double b = 5.6; // converts into object Double bObj = b; 

Αυτή η διαδικασία είναι γνωστή ως αυτόματη πυγμαχία . Για να μάθετε περισσότερα, επισκεφθείτε το Java autoboxing και unboxing.

Σημείωση : Μπορούμε επίσης να μετατρέψουμε πρωτόγονους τύπους σε αντικείμενα περιτυλίγματος χρησιμοποιώντας Wrapperκατασκευαστές κλάσης. Ωστόσο, η χρήση κατασκευαστών απορρίπτεται μετά την Java 9.

Αναδίπλωση αντικειμένων σε πρωτόγονους τύπους

Για τη μετατροπή αντικείμενα στις πρωτόγονες τύπους, μπορούμε να χρησιμοποιήσουμε τις αντίστοιχες μεθόδους αξίας ( intValue(), doubleValue(), κλπ) που υπάρχει σε κάθε κατηγορία περιτύλιγμα.

Παράδειγμα 2: Περιτύλιγμα αντικειμένων σε πρωτόγονους τύπους

 class Main ( public static void main(String() args) ( // creates objects of wrapper class Integer aObj = Integer.valueOf(23); Double bObj = Double.valueOf(5.55); // converts into primitive types int a = aObj.intValue(); double b = bObj.doubleValue(); System.out.println("The value of a: " + a); System.out.println("The value of b: " + b); ) ) 

Παραγωγή

 Η τιμή του a: 23 Η τιμή του b: 5,55 

Στο παραπάνω παράδειγμα, χρησιμοποιήσαμε τη μέθοδο intValue()και τη doubleValue()μέθοδο για τη μετατροπή των αντικειμένων Integerκαι των Doubleαντικειμένων σε αντίστοιχους πρωτόγονους τύπους.

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

 Integer aObj = Integer.valueOf(2); // converts into int type int a = aObj; Double bObj = Double.valueOf(5.55); // converts into double type double b = bObj; 

Αυτή η διαδικασία είναι γνωστή ως αποσύνδεση . Για να μάθετε περισσότερα, επισκεφθείτε το Java autoboxing και unboxing.

Πλεονεκτήματα των τάξεων Wrapper

  • Στην Java, μερικές φορές ίσως χρειαστεί να χρησιμοποιήσουμε αντικείμενα αντί για πρωτόγονους τύπους δεδομένων. Για παράδειγμα, ενώ εργάζεστε με συλλογές.
     // error ArrayList list = new ArrayList(); // runs perfectly ArrayList list = new ArrayList();
    Σε τέτοιες περιπτώσεις, οι τάξεις περιτυλίγματος μας βοηθούν να χρησιμοποιούμε πρωτόγονους τύπους δεδομένων ως αντικείμενα.
  • Μπορούμε να αποθηκεύσουμε την τιμή null σε αντικείμενα περιτυλίγματος. Για παράδειγμα,
      // generates an error int a = null; // runs perfectly Integer a = null; 

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

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