Я тестирую библиотеку SnakeYAML для чтения документов .yaml. Я прочитал Пример 2.27. Счет от http://yaml.org/spec/1.1/ и я получаю объект:Как я могу получить ключ, пару значений из итератора LinkedHashMap?
System.out.println(content);
Yaml yaml = new Yaml();
Object o = yaml.load(content);
где содержимое строки загружаются из файла с помощью Files.readAllBytes, encoding.decode (кодирование StandardCharsets.UTF_8)
Отражение Гав мне, что о является тип Java .util.LinkedHashMap и я могу перебирать их:
Set entrySet = o.entrySet();
Iterator it = entrySet.iterator();
System.out.println("LinkedHashMap entries : ");
while (it.hasNext())
{
Object entry = it.next();
System.out.println(entry);
}
Отражение возвращает этот тип записи является LinkedHashMap $ запись. Но есть проблема: внутренний класс LinkedHashMap $ Запись закрыта, и я не могу объявить объекты этого типа. Как я могу получить пару от входа, итератора или entrSet?
Используйте вместо этого публичный интерфейс. –