Junior — Middle
Μπορείτε να χρησιμοποιήσετε μια συλλογή σε Java για την αποθήκευση στοιχείων διαφορετικών τύπων;
sobes.tech AI
Απάντηση από AI
Στην Java, οι συλλογές γενικά παραμετροποιούνται με τον τύπο των στοιχείων (generics), για παράδειγμα, List<String> αποθηκεύει μόνο συμβολοσειρές. Ωστόσο, μπορεί να χρησιμοποιηθεί μια συλλογή με τον τύπο Object για την αποθήκευση στοιχείων διαφορετικών τύπων:
List<Object> μικτήΛίστα = new ArrayList<>();
μικτήΛίστα.add("σειρά");
μικτήΛίστα.add(123);
μικτήΛίστα.add(new Person("Άννα", 25));
Αυτή η προσέγγιση μειώνει την ασφάλεια τύπων και απαιτεί ρητές μετατροπές κατά την ανάκτηση στοιχείων. Συνιστάται λοιπόν η χρήση συλλογών με συγκεκριμένο τύπο, και για την αποθήκευση διαφορετικών τύπων — η δημιουργία γενικών κλάσεων ή η χρήση διεπαφών/αφηρημένων κλάσεων που ενώνουν αυτούς τους τύπους.