Junior — Middle
Ar galima Java kalboje naudoti kolekciją skirtingų tipų elementams saugoti?
sobes.tech AI
Atsakymas iš AI
Java kolekcijos paprastai parametrizuojamos su elementų tipu (generics), pavyzdžiui, List<String> saugo tik eilutes. Tačiau galima naudoti kolekciją su tipu Object, kad saugotumėte skirtingų tipų elementus:
List<Object> mišriSąrašas = new ArrayList<>();
mišriSąrašas.add("eilutė");
mišriSąrašas.add(123);
mišriSąrašas.add(new Person("Ana", 25));
Tačiau toks požiūris sumažina tipų saugumą ir reikalauja aiškių tipų konvertavimų išgavus elementus. Todėl rekomenduojama naudoti kolekcijas su konkrečiu tipu, o saugoti skirtingus tipus — kurti bendras klases arba naudoti sąsajas/abstrakčias klases, kurios sujungia šiuos tipus.