Там же 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
Интерфейс Map.Entry
Все известные классы реализации :
К сожалению, версия 1.5 не содержит ни одного известного класса реализации, который вы можете использовать, так что вы, возможно, застряли в реализации своего собственного.