Так у меня есть конструктор, который выглядит так:Почему я получаю ClassCastException?
public Group(Entry<String, List<String>> rawGroup) {
permission=rawGroup.getKey();
List<String> params = rawGroup.getValue();
limits = Integer.parseInt(params.get(0));
int a = Integer.parseInt(params.get(1));
int b = Integer.parseInt(params.get(2));
s1 = Math.min(a, b);
s2 = Math.max(a, b);
}
и "Список Params = rawGroup.getValue();" делает это:
java.lang.ClassException: java.lang.String не может быть приведен к java.util.List
Я не могу понять, почему это происходит, ПолучитьЗначение() не может возвращать строку, поскольку это не строка
UPDATE: запись является частью EntrySet, которая возвращает Map
UPDATE2: так вот код, который использует этот конструктор -
Map<String, List<String>> rawGroups = (Map) holder.config.getConfigurationSection(HEADING).getValues(true);
for (Entry<String, List<String>> rawGroup : rawGroups.entrySet()) {
groups.add(new Group(rawGroup));
}
Что такое 'Entry'? Что возвращает 'getValue'? – CKing
Невозможно помочь вам, не зная, что такое класс 'Entry' и как работает его функция getValue. 'Entry' не является стандартным классом или интерфейсом JDK или JEE, поэтому ... –
@ T.J.Crowder Существует, конечно,« Map.Entry », который является стандартным классом JDK. Но мы не знаем, что означает OP с «Entry». – Jesper