Там є 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 не містить жодного відомого класу впровадження, який ви можете використовувати, тому, можливо, ви застрягли в реалізації своєї власної.