Προγραμματισμός

* Γνώση Υπολογιστών >> Προγραμματισμός >> Προγραμματισμός Java

Διαφορές μεταξύ Java 1.4 και Java 1.5

Java δημιουργήθηκε αρχικά το 1995 , αλλά έχει αλλάξει σε τακτική βάση από τότε. Πολλές σημαντικές αλλαγές έχουν γίνει όλα αυτά τα χρόνια ? Μερικά από τα πιο αξιόλογα , από τη σκοπιά ενός συνηθισμένου προγραμματιστή , συνέβη μεταξύ 1.4 και 1.5 , και οι περισσότερες από αυτές τις αλλαγές συνέβησαν στη συλλογή API . Generic Τύποι
Η

Η λειτουργικότητα γενικός τύπος επιτρέπει στον προγραμματιστή να προαιρετικά καθορίσει το είδος των αξιών που είναι αποθηκευμένα στα ενσωματωμένα στις τάξεις της συλλογής , όπως HashMap και ArrayList . Αυτό αντικαθιστά τον κωδικό 1.4 :

ArrayList δεδομένων = νέα ArrayList ( ) ?

Data.add ( νέο διπλό ( 4,0 ) ) ?

Διπλό value = ( διπλό ) δεδομένων . πάρει ( 0 ) ?

Με το 1,5 κωδικός:

ArrayList δεδομένων = νέα ArrayList ( ) ?

data.add ( νέο διπλό ( 4.0 ) ?

διπλό value = data.get ( 0 ) ? .

Η δήλωση του ArrayList γίνεται ελαφρώς πιο δυσκίνητο , αλλά οι προγραμματιστές μπορούν να αναγνωρίσουν τα οφέλη Ο compiler χειρίζεται πλέον το casting δεδομένων και η συντριβή δυνητικά προκαλούν σφάλμα ρίχνει στην τρίτη γραμμή του κώδικα 1.4 αλιεύονται κατά τη μεταγλώττιση .
εικόνων Autoboxing
Η

Μία από τις ασήμαντες οχλήσεις έχει απομακρυνθεί από την εργασία με τις συλλογές αντικειμένων , καθώς και. τις περισσότερες φορές , οι πρώτες αριθμητικά δεδομένα θα αποθηκεύονται σε πρωτόγονη , τύπους δεδομένων μη-αντικειμένου , όπως int και το διπλό . Ωστόσο, μόνο το αντικείμενο , ισοδύναμα ταξικά τους μπορούν να αποθηκευτούν σε μια συλλογή . σε 1.4 , ο προγραμματιστής έπρεπε να δημιουργήσετε χειροκίνητα ένα νέο αντικείμενο κάθε φορά που αυτός ή αυτή ήθελε να αποθηκεύσετε έναν αριθμό σε μια συλλογή , και ρίχνει πίσω σε μια πρωτόγονη τύπο δεδομένων όταν τράβηξε έξω . Autoboxing επιτρέπει Java για να χειριστεί αυτό αυτόματα , έτσι ώστε ο κώδικας :

data.add ( νέο διπλό ( 4,0 ) ) ?

Μπορεί τώρα να αντικατασταθεί με :

data.add ( 4,0) ?

Java θα χειριστεί αυτόματα τη μετατροπή από το " διπλό" στο " Double" .

Η Ενισχυμένη για Loop
Η

κατά την αποθήκευση των δεδομένων σε μια σειρά ή κάποιο από τα στοιχεία της συλλογής δομές , ο προγραμματιστής μπορεί να περιορίσουν το παραδοσιακό για βρόχο από το γνωστό :

για ( int x = 0 ? x

//κάνει κάτι με κάθε διπλό στο "δεδομένα"

}

Για το πιο συμπαγές και εύκολο να διαβαστεί :

για ( Double d: δεδομένα) {

//do κάτι με κάθε διπλό στο "δεδομένα"

}
εικόνων Απαριθμούνται Τύποι
Η

Java 1.5 προστίθεται το είδος «enum» με τη γλώσσα . Παραδοσιακά , εάν ένας προγραμματιστής ήθελε να παρακολουθείτε όλες τις πιθανές τιμές του επιλογή , αυτός ή αυτή έπρεπε να απεικονίζει λέξεις σε ακέραιους αριθμούς , χρησιμοποιώντας την "τελική στατική int " τύπο δεδομένων , όπως:

δημόσια τάξη Stoplight {
χρώμα

int = 0 ?

τελική στατική int RED = 0 ?

τελική στατική int ΚΙΤΡΙΝΟ = 1 ?

τελική στατική int ΠΡΑΣΙΝΟ = 2 ?
.

}

Αυτό ήταν κουραστική και bug- επιρρεπής Για παράδειγμα , τι θα συμβεί αν το χρώμα γίνεται Enum κάνει η λύση πολύ πιο κομψό " 4 ; " :

Stoplight Color = Stoplight.RED ?

Stoplight δημόσια enum {

ΚΟΚΚΙΝΟ , ΚΙΤΡΙΝΟ , ΠΡΑΣΙΝΟ

} ?

Σε αντίθεση με την παλιά « τελικό στατική» τρόπο , ο compiler ξέρει πλέον τι έγκυρες επιλογές είναι για το « φώτων στοπ » και να τους επιβάλλουν για μας . ως πρόσθετο πλεονέκτημα , αν η αξία του " χρώμα" είναι τυπωμένη στην κονσόλα , θα εκτυπώσει ως αγγλική λέξη , και όχι ως αριθμός.


εικόνων

Συναφής σύστασή

Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα