Está aí public static class AbstractMap.SimpleEntry<K,V>
. Não deixe que a Abstract
parte do nome o engane: na verdade, NÃO é uma abstract
classe (mas AbstractMap
é de nível superior ).
O fato de ser uma static
classe aninhada significa que você NÃO precisa de uma AbstractMap
instância anexa para instancia-la, portanto, algo assim compila bem:
Map.Entry<String,Integer> entry =
new AbstractMap.SimpleEntry<String, Integer>("exmpleString", 42);
Conforme observado em outra resposta, o Guava também possui um static
método conveniente de fábrica Maps.immutableEntry
que você pode usar.
Você disse:
Não consigo usar Map.Entry
-me porque, aparentemente, é um objeto somente leitura que não consigo instanciar novosinstanceof
Isso não é totalmente preciso. A razão pela qual você não pode instanciar diretamente (isto é, com new
) é porque é um interface Map.Entry
.
Advertência e dica
Conforme observado na documentação, AbstractMap.SimpleEntry
é@since 1.6
, portanto, se você estiver preso ao 5.0, ele não estará disponível para você.
Para procurar outra classe conhecida que implements Map.Entry
, na verdade, você pode ir diretamente para o javadoc. A partir da versão Java 6
Interface Map.Entry
Todas as classes de implementação conhecidas :
Infelizmente, a versão 1.5 não lista nenhuma classe de implementação conhecida que você possa usar; portanto, você pode ter dificuldades em implementar sua própria.