Διαφορά μεταξύ κλάσης Wrapper και Primitive Type στην Java

Πίνακας περιεχομένων:

Διαφορά μεταξύ κλάσης Wrapper και Primitive Type στην Java
Διαφορά μεταξύ κλάσης Wrapper και Primitive Type στην Java

Βίντεο: Διαφορά μεταξύ κλάσης Wrapper και Primitive Type στην Java

Βίντεο: Διαφορά μεταξύ κλάσης Wrapper και Primitive Type στην Java
Βίντεο: Difference between BufferedReader and Scanner in java 2024, Ιούλιος
Anonim

Βασική διαφορά – Κατηγορία περιτυλίγματος έναντι πρωτόγονου τύπου σε Java

Η Java είναι μια δημοφιλής γλώσσα προγραμματισμού που χρησιμοποιείται για την ανάπτυξη διαφόρων εφαρμογών. Ένα πλεονέκτημα της Java είναι ότι υποστηρίζει Αντικειμενοστραφή Προγραμματισμό (OOP). Χρησιμοποιώντας το OOP, το πρόγραμμα ή το λογισμικό μπορεί να μοντελοποιηθεί χρησιμοποιώντας αντικείμενα. Μια κλάση χρησιμοποιείται ως προσχέδιο για τη δημιουργία ενός αντικειμένου. Στον προγραμματισμό, είναι απαραίτητη η αποθήκευση δεδομένων. Οι δεσμευμένες θέσεις μνήμης για την αποθήκευση δεδομένων είναι γνωστές ως μεταβλητές. Κάθε μεταβλητή έχει έναν συγκεκριμένο τύπο δεδομένων. Υπάρχουν οκτώ πρωτόγονοι τύποι που παρέχονται από τη γλώσσα Java. Είναι σύντομα, byte, int, float, double, char, boolean. Μερικές φορές, απαιτείται να μετατραπεί ο πρωτόγονος τύπος σε αντικείμενο και το αντικείμενο πίσω στον αρχέγονο τύπο. Οι κλάσεις περιτυλίγματος χρησιμοποιούνται για αυτήν τη μετατροπή. Αυτό το άρθρο εξετάζει τη διαφορά μεταξύ της κλάσης περιτυλίγματος και του πρωτόγονου τύπου στην Java. Η βασική διαφορά μεταξύ της κλάσης περιτυλίγματος και του πρωτόγονου τύπου στην Java είναι ότι η κλάση περιτυλίγματος χρησιμοποιείται για τη μετατροπή ενός πρωτόγονου τύπου σε αντικείμενο και αντικειμένου σε αρχέγονο τύπο ενώ ένας πρωτόγονος τύπος είναι ένας προκαθορισμένος τύπος δεδομένων που παρέχεται από τη γλώσσα προγραμματισμού Java.

Τι είναι η κλάση Wrapper στην Java;

Μια κλάση Wrapper στην Java χρησιμοποιείται για τη μετατροπή ενός πρωτόγονου τύπου δεδομένων σε αντικείμενο και αντικειμένου σε πρωτόγονο τύπο. Ακόμη και οι πρωτόγονοι τύποι δεδομένων χρησιμοποιούνται για την αποθήκευση πρωτογενών τύπων δεδομένων, δομές δεδομένων όπως οι λίστες συστοιχιών και τα διανύσματα αποθήκευσης αντικειμένων. Επομένως, απαιτείται η χρήση κλάσεων περιτυλίγματος για τη μετατροπή. Οι αντίστοιχες κατηγορίες περιτυλίγματος για τους πρωτόγονους τύπους char, byte, short και int είναι Character, Byte, Short και Integer. Οι αντίστοιχες κατηγορίες περιτυλίγματος για long, float, double και boolean είναι Long, Float, Double και Boolean.

Διαφορά μεταξύ της κατηγορίας Wrapper και του Primitive Type στην Java
Διαφορά μεταξύ της κατηγορίας Wrapper και του Primitive Type στην Java

Εικόνα 01: Πρόγραμμα Java που μετατρέπει τις κλάσεις Wrapper σε Primitive Types

Σύμφωνα με το παραπάνω πρόγραμμα, το intobj είναι ένα αντικείμενο κλάσης περιτυλίγματος ακέραιου αριθμού. Το floatobj είναι ένα αντικείμενο κλάσης περιτυλίγματος Float. Το doubleobj είναι ένα αντικείμενο κατηγορίας Double wrapper. Το αντικείμενο Integer μετατρέπεται σε ένα πρωτόγονο int χρησιμοποιώντας το intValue (). Ομοίως, το αντικείμενο Float μετατρέπεται σε πρωτόγονο float χρησιμοποιώντας floatValue(). Το αντικείμενο Double μετατρέπεται σε πρωτόγονο διπλό χρησιμοποιώντας doubleValue (). Εάν ο προγραμματιστής γράψει την πρόταση ως int i=intobj; ο μεταγλωττιστής γράφει εσωτερικά την intobj. Value(). Η διαδικασία αυτόματης μετατροπής ενός αντικειμένου μιας κλάσης περιτυλίγματος στον αντίστοιχο πρωτόγονο τύπο είναι γνωστή ως unboxing. Συλλογές όπως το ArrayLists χρησιμοποιούν την κλάση Wrapper επειδή αποθηκεύουν αντικείμενα.

Τι είναι ο Primitive Type στην Java;

Οι πρωτόγονοι τύποι δεδομένων είναι οι προκαθορισμένοι τύποι δεδομένων που παρέχονται από τη γλώσσα προγραμματισμού Java. Υπάρχουν οκτώ πρωτόγονοι τύποι. Είναι byte, short, int, long, float, double, boolean και char. Ο τύπος δεδομένων byte χρησιμοποιείται για την αποθήκευση ενός ακέραιου συμπληρώματος δύο υπογεγραμμένων 8 bit. Ο σύντομος τύπος δεδομένων χρησιμοποιείται για την αποθήκευση του ακέραιου συμπληρώματος δύο υπογεγραμμένων 16 bit. Ένας τύπος δεδομένων int χρησιμοποιείται για την αποθήκευση του ακέραιου συμπληρώματος δύο υπογεγραμμένων 32 bit, ενώ ο τύπος δεδομένων μεγάλου μήκους χρησιμοποιείται για την αποθήκευση του ακέραιου συμπληρώματος δύο υπογεγραμμένων 64 bit. Το float χρησιμοποιείται για την αποθήκευση τιμής κινητής υποδιαστολής μονής ακρίβειας 32-bit και το διπλό χρησιμοποιείται για την αποθήκευση τιμής κινητής υποδιαστολής 64-bit διπλής ακρίβειας. Το boolean χρησιμοποιείται για να αναπαραστήσει το true ή false. Ο χαρακτήρας χρησιμοποιείται για την αποθήκευση ενός μεμονωμένου χαρακτήρα. Αυτοί είναι οι οκτώ πρωτόγονοι τύποι στην Java.

Βασική διαφορά μεταξύ της κατηγορίας Wrapper και του Primitive Type στην Java
Βασική διαφορά μεταξύ της κατηγορίας Wrapper και του Primitive Type στην Java

Εικόνα 02: Πρόγραμμα Java που μετατρέπει τους πρωτόγονους τύπους σε κλάσεις Wrapper

Σύμφωνα με το παραπάνω πρόγραμμα, το num1 είναι τύπος int. Μετατρέπεται σε ακέραιο περνώντας το num1 στο Integer.valueOf(). Το float1 μπορεί να αποθηκεύσει τιμές float. Μετατρέπεται σε τύπο Float περνώντας το float1 στο Float.valueOf(). Ομοίως, το double1 μπορεί να αποθηκεύσει διπλές τιμές. Μετατρέπεται σε διπλό τύπο περνώντας το double1 στο Double.valueOf(). Εάν ο προγραμματιστής γράψει την πρόταση ως Interger intobj=num1; ο μεταγλωττιστής γράφει εσωτερικά Integer.valueOf(num1); Η διαδικασία αυτόματης μετατροπής του αρχέγονου τύπου στο αντίστοιχο αντικείμενο κατηγορίας περιτυλίγματος είναι γνωστή ως autoboxing.

Ποια είναι η ομοιότητα μεταξύ της κατηγορίας Wrapper και του Primitive Type στην Java;

Τόσο η κατηγορία Wrapper όσο και ο Primitive Type στην Java μπορούν να χρησιμοποιηθούν για την αποθήκευση δεδομένων στον προγραμματισμό

Ποια είναι η διαφορά μεταξύ της κατηγορίας Wrapper και του Primitive Type στην Java;

Κλάση Wrapper vs Primitive Type σε Java

Η κλάση Wrapper παρέχει έναν μηχανισμό για τη μετατροπή του αρχέγονου τύπου σε αντικείμενο και του αντικειμένου σε αρχέγονο τύπο. Ένας πρωτόγονος τύπος είναι ένας προκαθορισμένος τύπος δεδομένων που παρέχεται από την Java.
Συσχετισμένη τάξη
Μια κλάση Wrapper χρησιμοποιείται για τη δημιουργία ενός αντικειμένου. επομένως, έχει μια αντίστοιχη κλάση. Ένας πρωτόγονος τύπος δεν είναι αντικείμενο, επομένως δεν ανήκει σε μια κλάση.
Μηδενικές τιμές
Τα αντικείμενα κλάσης περιτυλίγματος επιτρέπουν μηδενικές τιμές. Ένας πρωτόγονος τύπος δεδομένων δεν επιτρέπει μηδενικές τιμές.
Απαιτείται μνήμη
Η απαιτούμενη μνήμη είναι υψηλότερη από τους πρωτόγονους τύπους. Ο Δείκτης συμπλέγματος δεν απαιτεί επιπλέον χώρο. Η απαιτούμενη μνήμη είναι χαμηλότερη σε σύγκριση με τις κατηγορίες περιτυλίγματος.
Συλλογές
Μια κλάση Wrapper μπορεί να χρησιμοποιηθεί με μια συλλογή όπως ArrayList, κ.λπ. Ο πρωτόγονος τύπος δεν χρησιμοποιείται με συλλογές.

Σύνοψη – Κατηγορία περιτυλίγματος έναντι πρωταρχικού τύπου σε Java

Η γλώσσα Java παρέχει οκτώ πρωτόγονους τύπους δεδομένων. Μερικές φορές απαιτείται η μετατροπή των πρωτόγονων τύπων σε αντικείμενο και επίσης η μετατροπή των αντικειμένων πίσω σε πρωτόγονους. Οι κλάσεις περιτυλίγματος μπορούν να χρησιμοποιηθούν για την επίτευξη αυτού του στόχου. Η διαφορά μεταξύ της κλάσης περιτυλίγματος και του πρωτόγονου τύπου στην Java είναι ότι η κλάση περιτυλίγματος χρησιμοποιείται για τη μετατροπή ενός πρωτόγονου τύπου σε αντικείμενο και αντικειμένου σε αρχέγονο τύπο, ενώ ένας πρωτόγονος τύπος είναι ένας προκαθορισμένος τύπος δεδομένων που παρέχεται από τη γλώσσα προγραμματισμού Java.

Συνιστάται: