Sobes.tech
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.