Junior — Middle
Оё метавон дар сифати калид дар объект арзиши ғайри сатрӣ истифода бурд?
sobes.tech AI
Ҷавоб аз AI
Дар Java (ва махсусан, дар Android) калид дар объектҳои стандартӣ мисли HashMap метавонад объекти ҳар синф бошад, на ҳатман сатр. Муҳим он аст, ки ин объект дуруст методҳои equals() ва hashCode()-ро иҷро кунад. Масалан, метавон Integer, Enum ё синфҳои худатонро ҳамчун калид истифода бурд.
Масалан:
Map<Integer, String> map = new HashMap<>();
map.put(1, "як");
map.put(2, "ду");
Масна:
String value = map.get(1); // "як"
Аммо, агар объект оддӣ бе навиштани equals ва hashCode истифода шавад, рафтор метавонад ғайричашмдошт бошад, зеро калидҳо бо ин методҳо муқоиса мешаванд. Баръакс аз JavaScript, ки калидҳои объект ҳамеша ба сатр табдил меёбанд, дар Java калидҳо дар Map метавонанд ҳар гуна объект бошанд.