Junior — Middle
Κατά την εκτέλεση μιας λειτουργίας συνημμένης συμβολοσειράς με τον τελεστή '+', δημιουργούνται δύο ξεχωριστά αντικείμενα συμβολοσειράς;
sobes.tech AI
Απάντηση από AI
Στην Java, ο τελεστής '+' για τη σύνδεση συμβολοσειρών δεν δημιουργεί δύο ξεχωριστά αντικείμενα συμβολοσειράς. Όταν χρησιμοποιείται '+', ο μεταγλωττιστής συνήθως μετατρέπει την έκφραση σε μια κλήση σε StringBuilder, που συνδυάζει αποτελεσματικά τις συμβολοσειρές χωρίς να δημιουργεί πολλά ενδιάμεσα αντικείμενα.
Για παράδειγμα, ο κώδικας:
String result = "Hello, " + "world!";
Μεταγλωττίζεται περίπου σε:
String result = new StringBuilder()
.append("Hello, ")
.append("world!")
.toString();
Έτσι, δημιουργείται ένα μόνο τελικό αντικείμενο συμβολοσειράς, αντί για πολλά ενδιάμεσα. Αυτό βελτιστοποιεί την απόδοση και μειώνει το φορτίο στον συλλέκτη απορριμμάτων.