|
|
|
java:wrapper_classes [2018/02/09 13:04] gthanos |
java:wrapper_classes [2022/02/24 12:45] |
| ====== Βασικοί τύποι δεδομένων και ισοδύναμοι αναφορικοί τύποι ====== | |
| |
| Στην εισαγωγική [[java:variables|ενότητα]] των μεταβλητών είδαμε την διάκριση των μεταβλητών μεταξύ **βασικών τύπων** και **αναφορικών τύπων**. Για όλους τους βασικούς τύπους που συναντήσαμε η Java ορίζει ισοδύναμούς αναφορικούς τύπους δεδομένων οι οποίοι βρίσκονται μέσα στο πακέτο [[http://docs.oracle.com/javase/7/docs/api/java/lang/package-summary.html|java.lang]]. Οι αντιστοιχίες μεταξύ βασικών και αναφορικών τύπων είναι οι εξής: | |
| |
| ^ Βασικός τύπος ^ Ισοδύναμος αναφορικός τύπος ^ | |
| | boolean | [[http://docs.oracle.com/javase/7/docs/api/java/lang/Float.html|Boolean]] | | |
| | byte | [[http://docs.oracle.com/javase/7/docs/api/java/lang/Byte.html|Byte]] | | |
| | char | [[http://docs.oracle.com/javase/7/docs/api/java/lang/Character.html|Character]] | | |
| | int | [[http://docs.oracle.com/javase/7/docs/api/java/lang/Integer.html|Integer]] | | |
| | long | [[http://docs.oracle.com/javase/7/docs/api/java/lang/Long.html|Long]] | | |
| | short | [[http://docs.oracle.com/javase/7/docs/api/java/lang/Short.html|Short]] | | |
| | float | [[http://docs.oracle.com/javase/7/docs/api/java/lang/Float.html|Float]] | | |
| | double | [[http://docs.oracle.com/javase/7/docs/api/java/lang/.html|Double]] | | |
| |
| Κάθε αναφορικός τύπος μπορεί να δημιουργηθεί από ένα βασικό τύπο ή από ένα αλφαριθμητικό ([[http://docs.oracle.com/javase/7/docs/api/java/lang/String.html|String]]). Για παράδειγμα η κλάση //Integer// έχει τους παρακάτω δύο κατασκευαστές: | |
| |
| <code java> | |
| Integer(int value); | |
| //Constructs a newly allocated Integer object that represents the specified int value. | |
| Integer(String s); | |
| //Constructs a newly allocated Integer object that represents the int value indicated by the String parameter. | |
| </code> | |
| |
| Eπίσης, κάθε μία από τις παραπάνω κλάσεις περιέχει μεθόδους για την εξαγωγή ενός βασικού τύπου δεδομένων από τον αναφορικό τύπο. Για παράδειγμα η κλάση //Integer// περιέχει μεθόδους για την εξαγωγή βασικών τύπων από των αναφορικό ως εξής: | |
| <code java> | |
| byte byteValue(); | |
| //Returns the value of this Integer as a byte. | |
| short shortValue(); | |
| //Returns the value of this Integer as a short. | |
| int intValue(); | |
| //Returns the value of this Integer as an int. | |
| long longValue(); | |
| //Returns the value of this Integer as a long. | |
| float floatValue(); | |
| //Returns the value of this Integer as a float. | |
| </code> | |
| |
| Επιπλέον, κάθε κλάση στην Java περιέχει την μέθοδο [[java:toString|toString()]]. Οι ισοδύναμοι αναφορικοί τύποι επανα-ορίζουν την μέθοδο //toString()//, ώστε να επιστρέφει ένα αλφαριθμητικό με την αριθμητική τιμή που αποθηκεύεται στον αναφορικό τύπο. | |
| |
| |Προηγούμενο: [[:java:tostring | H μέθοδος toString() ]] | [[:toc | Περιεχόμενα]] | Επόμενο: [[:java:autoboxing | Autoboxing & Auto-unboxing ]]| | |
| |