Junior — Middle
Чӣ монеъ мешавад, ки намудҳои асосии маълумотро дар параметрҳои умумӣ истифода барем?
sobes.tech AI
Ҷавоб аз AI
Дар Java, генерарикҳо (Generics) бо истифода аз нобуд кардани намудҳо (type erasure) амалӣ мешаванд, ки маънои онро дорад, ки маълумоти дар бораи намудҳои параметрҳои генерарикӣ дар вақти иҷро дастрас нест.
Аз ин рӯ, намудҳои primitives (int, boolean ва ғайра) ҳамчун параметрҳои генерарикӣ истифода намешаванд, зеро онҳо объект нестанд ва намебошанд, ки ҳамчун синф пешниҳод шаванд.
Масалан, навиштани чунин нодуруст аст:
List<int> numbers; // Хатогӣ
Барои иваз кардан, бояд wrappers истифода шаванд:
List<Integer> numbers; // Дуруст
Ин ба он вобаста аст, ки генерарикҳо танҳо бо намудҳои объектӣ кор мекунанд, ва primitives объект нестанд.