====== Βασικοί τύποι δεδομένων και ισοδύναμοι αναφορικοί τύποι ====== Στην εισαγωγική [[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// έχει τους παρακάτω δύο κατασκευαστές: 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. Eπίσης, κάθε μία από τις παραπάνω κλάσεις περιέχει μεθόδους για την εξαγωγή ενός βασικού τύπου δεδομένων από τον αναφορικό τύπο. Για παράδειγμα η κλάση //Integer// περιέχει μεθόδους για την εξαγωγή βασικών τύπων από των αναφορικό ως εξής: 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. Επιπλέον, κάθε κλάση στην Java περιέχει την μέθοδο [[java:toString|toString()]]. Οι ισοδύναμοι αναφορικοί τύποι επανα-ορίζουν την μέθοδο //toString()//, ώστε να επιστρέφει ένα αλφαριθμητικό με την αριθμητική τιμή που αποθηκεύεται στον αναφορικό τύπο. |Προηγούμενο: [[:java:enum | Απαριθμήσεις ]] | [[:toc | Περιεχόμενα]] | Επόμενο: [[:java:autoboxing | Autoboxing & Auto-unboxing ]]|