Βασική διαφορά – Ακέραιος έναντι Float
Οι Float και Double είναι άλλες κλάσεις περιτυλίγματος που χρησιμοποιούνται για τη μετατροπή πρωτόγονων τύπων δεδομένων. Μερικές φορές απαιτείται η μετατροπή του πρωτόγονου τύπου δεδομένων σε ένα αντικείμενο και η μετατροπή του αντικειμένου στον πρωτόγονο τύπο δεδομένων. Για αυτό, μπορούν να χρησιμοποιηθούν κλάσεις Wrapper. Οι γλώσσες προγραμματισμού όπως η Java περιέχουν κλάσεις Wrapper. Χρησιμοποιούνται για αυτή τη διαδικασία μετατροπής. Μια κλάση περιτυλίγματος είναι μια κλάση που ενσωματώνει τύπους. Αυτοί οι τύποι μπορούν να χρησιμοποιηθούν για τη δημιουργία παρουσιών και μεθόδων αντικειμένων σε μια άλλη κλάση που χρειάζεται αυτούς τους τύπους. Υπάρχουν οκτώ πρωτόγονοι τύποι στην Java. Είναι int, short, byte, long, boolean, char, float και double. Η αντίστοιχη κλάση περιτυλίγματος για τον τύπο δεδομένων boolean είναι Boolean. Η κλάση περιτυλίγματος για τον τύπο δεδομένων char είναι ένας χαρακτήρας. Short, Byte, Integer, Long, Float και Double είναι άλλες κατηγορίες περιτυλίγματος. Η αυτόματη μετατροπή του πρωτόγονου τύπου δεδομένων σε αντικείμενο ονομάζεται αυτόματη συσκευασία. Η αυτόματη μετατροπή του αντικειμένου σε πρωτόγονο τύπο ονομάζεται unboxing. Αυτό το άρθρο εξετάζει δύο κατηγορίες περιτυλίγματος που είναι Integer και Float. Η βασική διαφορά μεταξύ Integer και Float είναι ότι ο Integer είναι η κλάση περιτυλίγματος που σχετίζεται με τον πρωτόγονο τύπο δεδομένων int ενώ το Float είναι η κλάση περιτυλίγματος που σχετίζεται με τον τύπο δεδομένων float.
Τι είναι Ακέραιος;
Το Integer είναι μια κλάση περιτυλίγματος στην Java. Ο αντίστοιχος τύπος δεδομένων είναι int. Χρησιμοποιείται για τη μετατροπή ενός τύπου δεδομένων int σε αντικείμενο ή για τη μετατροπή ενός αντικειμένου σε int. Ανατρέξτε στο παρακάτω παράδειγμα με την κλάση περιτυλίγματος ακέραιου αριθμού.
Εικόνα 01: Πρόγραμμα με κλάση περιτυλίγματος ακέραιου αριθμού
Σύμφωνα με το παραπάνω πρόγραμμα, το x είναι μια μεταβλητή τύπου int. Περιέχει την τιμή 10. Το Integer.valueOf χρησιμοποιείται για τη μετατροπή του αντικειμένου τύπου int σε Integer. Η μεταβλητή x μεταβιβάζεται στην τιμή της μεθόδου. Ομοίως, το int μετατρέπεται σε ακέραιο.
Το y είναι αντικείμενο τύπου Integer. Η τιμή 5 μεταβιβάζεται στον κατασκευαστή. Χρησιμοποιώντας τη μέθοδο intValue, αυτό το αντικείμενο μετατρέπεται σε τύπο δεδομένων int. Αυτή η τιμή που έχει μετατραπεί αποθηκεύεται σε μεταβλητή z που μπορεί να κρατήσει ένα int.
Εικόνα 02: Παράδειγμα Autoboxing και Unbox1
Σύμφωνα με το παραπάνω πρόγραμμα, η μεταβλητή x έχει int. Όταν το εκχωρείτε σε Integer, ο μεταγλωττιστής γράφει αυτόματα Integer.valueOf(x) εσωτερικά. Αυτό είναι το auto boxing. Το «a» είναι τύπου Integer. Η τιμή 6 μεταβιβάζεται στον κατασκευαστή. Όταν εκχωρείτε την τιμή a στο b, ο μεταγλωττιστής γράφει αυτόματα a.intValue() εσωτερικά. Αυτό είναι unboxing.
Τι είναι το Float;
Το Το Float είναι μια κλάση περιτυλίγματος στην Java. Ο αντίστοιχος τύπος δεδομένων είναι float. Χρησιμοποιείται για τη μετατροπή ενός τύπου δεδομένων float σε αντικείμενο ή για τη μετατροπή ενός αντικειμένου σε float. Ανατρέξτε στο παρακάτω παράδειγμα με την κλάση περιτυλίγματος Float.
Εικόνα 03: Πρόγραμμα με κλάση Float Wrapper
Σύμφωνα με το παραπάνω πρόγραμμα, το x είναι μια μεταβλητή τύπου float. Περιέχει την τιμή 20,5f. Το Float.valueOf χρησιμοποιείται για τη μετατροπή του float σε αντικείμενο τύπου Float. Η μεταβλητή x μεταβιβάζεται στη μέθοδο valueOf. Ομοίως, το float μετατρέπεται σε Float.
Το y είναι αντικείμενο τύπου Float. Η τιμή 10,5f μεταβιβάζεται στον κατασκευαστή. Χρησιμοποιώντας τη μέθοδο floatValue, αυτό το αντικείμενο μετατρέπεται σε τύπο δεδομένων float. Αυτή η τιμή που έχει μετατραπεί αποθηκεύεται σε μεταβλητή z που μπορεί να κρατήσει μια τιμή float.
Εικόνα 04: Παράδειγμα Autoboxing και Unbox2
Σύμφωνα με το παραπάνω πρόγραμμα, η μεταβλητή x έχει float. Όταν το εκχωρείτε στο Float, ο μεταγλωττιστής γράφει αυτόματα το Float.valueOf(x) εσωτερικά. Αυτό είναι autoboxing. Το «α» είναι τύπου Float. Η τιμή 6.1f μεταβιβάζεται στον κατασκευαστή. Όταν εκχωρείτε την τιμή a στο b, ο μεταγλωττιστής γράφει αυτόματα a.floatValue() εσωτερικά. Αυτό είναι unboxing.
Ποια είναι η ομοιότητα μεταξύ Integer και Float;
Και οι Integer και Float είναι κλάσεις περιτυλίγματος στην Java
Ποια είναι η διαφορά μεταξύ Integer και Float;
Integer vs Float |
|
Integer είναι μια κλάση που αναδιπλώνει μια τιμή του αρχέγονου τύπου int σε ένα αντικείμενο. | Float είναι μια κλάση που αναδιπλώνει μια τιμή του αρχέγονου τύπου float σε ένα αντικείμενο. |
Σχετικός πρωτόγονος τύπος δεδομένων | |
Integer είναι η κλάση περιτυλίγματος που σχετίζεται με τον τύπο δεδομένων int. | Float είναι η κλάση περιτυλίγματος που σχετίζεται με τον τύπο δεδομένων float. |
Σύνοψη – Integer vs Float
Υπάρχουν οκτώ κύριοι πρωτόγονοι τύποι στην Java. Είναι int, short, byte, long, boolean, char, float και double. Μερικές φορές είναι απαραίτητο να μετατραπούν οι πρωτόγονοι τύποι δεδομένων σε αντικείμενο και το αντικείμενο σε πρωτόγονους τύπους. Για αυτό χρησιμοποιούνται κλάσεις περιτυλίγματος. Κάθε πρωτόγονος τύπος έχει μια αντίστοιχη κατηγορία περιτυλίγματος. Αυτές οι κατηγορίες περιτυλίγματος είναι Integer, Short, Byte, Long, Boolean, Char, Float και Double. Αυτό το άρθρο εξέτασε τη διαφορά μεταξύ Integer και Float. Η διαφορά μεταξύ Integer και Float είναι ότι ο Integer είναι η κλάση περιτυλίγματος που σχετίζεται με τον πρωτόγονο τύπο δεδομένων int ενώ το Float είναι η κλάση περιτυλίγματος που σχετίζεται με τον τύπο δεδομένων float.