Hay public static class AbstractMap.SimpleEntry<K,V>
. No permita que la Abstract
parte del nombre lo engañe: de hecho, NO es una abstract
clase (pero su nivel superior sí lo AbstractMap
es).
El hecho de que sea una static
clase anidada significa que NO necesita una AbstractMap
instancia de cierre para crear una instancia, por lo que algo como esto se compila bien:
Map.Entry<String,Integer> entry =
new AbstractMap.SimpleEntry<String, Integer>("exmpleString", 42);
Como se señaló en otra respuesta, Guava también tiene un static
método de fábrica conveniente Maps.immutableEntry
que puede usar.
Tu dijiste:
No puedo usarlo Map.Entry
porque aparentemente es un objeto de solo lectura del que no puedo crear instancias nuevasinstanceof
Eso no es del todo exacto. La razón por la que no puede crear una instancia directamente (es decir, con new
) es porque es un interface Map.Entry
.
Advertencia y propina
Como se señala en la documentación, AbstractMap.SimpleEntry
es decir @since 1.6
, si está atascado en 5.0, entonces no está disponible para usted.
Para buscar otra clase conocida que implements Map.Entry
, de hecho, puede ir directamente al javadoc. Desde la versión Java 6
Mapa de interfaz.
Todas las clases de implementación conocidas :
Lamentablemente, la versión 1.5 no enumera ninguna clase de implementación conocida que pueda usar, por lo que es posible que no haya implementado la suya propia.