Там є public static class AbstractMap.SimpleEntry<K,V>
. Не дозволяйте Abstract
частини імені ввести вас в оману: це насправді НЕabstract
класу (але його верхній рівень AbstractMap
є).
Той факт, що це static
вкладений клас, означає, що вам НЕ потрібен AbstractMap
екземпляр, що додається, щоб створити його екземпляр, тому щось подібне складається добре:
Map.Entry<String,Integer> entry =
new AbstractMap.SimpleEntry<String, Integer>("exmpleString", 42);
Як зазначається в іншій відповіді, Guava також має зручний static
заводський метод, Maps.immutableEntry
який ви можете використовувати.
Ти сказав:
Я не можу використовувати Map.Entry
себе, оскільки, мабуть, це об'єкт лише для читання, який я не можу створити новимinstanceof
Це не зовсім точно. Причина, через яку ви не можете його створити безпосередньо (тобто за допомогоюnew
), полягає в тому, що це interface Map.Entry
.
Кава і кінчик
Як зазначається в документації, AbstractMap.SimpleEntry
це @since 1.6
так, якщо ви дотримуєтесь 5.0, то вам це недоступно.
Щоб шукати інший відомий клас, який implements Map.Entry
, насправді, можна перейти безпосередньо до javadoc. З версії Java 6
Інтерфейсна карта. Вхід
Усі відомі класи втілення :
На жаль, версія 1.5 не містить жодного відомого класу впровадження, який ви можете використовувати, тому, можливо, ви застрягли в реалізації своєї власної.