Junior — Middle
შეგვიძლია თუ არა Java-ში კოლექცია სხვადასხვა ტიპის ელემენტების შენახვისთვის?
sobes.tech AI
პასუხი AI-სგან
Java-да კოლექციები ჩვეულებრივ პარამეტრიზებულია ელემენტების ტიპით (generics), მაგალითად, List<String> ინახავს მხოლოდ სტრიქონებს. თუმცა, შესაძლებელია კოლექციის გამოყენება Object ტიპით, რათა ინახოს სხვადასხვა ტიპის ელემენტები:
List<Object> შერეული სია = new ArrayList<>();
შერეული სია.add("სტრიქონი");
შერეული სია.add(123);
შერეული სია.add(new Person("ანა", 25));
მაგრამ ასეთი მიდგომა ამცირებს ტიპის უსაფრთხოებას და მოითხოვს გამჭვირვალე ტიპის გადაყვანას ელემენტების ამოღებისას. ამიტომ რეკომენდირებულია კონკრეტული ტიპის კოლექციების გამოყენება, ხოლო სხვადასხვა ტიპის შენახვისთვის — შექმნათ გენერიკული კლასი ან გამოიყენოთ ინტერფეისი/აბსტრაქტული კლასი, რომლებიც აერთიანებენ ამ ტიპებს.