У меня есть HashMap
с некоторыми значениями.Я хочу выполнить итерацию по каждому значению на карте и вызвать метод myFun()
для каждого значения.
myFun()
- перегруженный метод принимает два аргумента: один является строкой, а другой может иметь тип Integer, десятичный, Float, String, String [], Value, Value [] и т. Д .:
Map<String, Object> NodesFound = new HashMap<>();
String[] children = {"child1","child2","child3","child4"};
NodesFound.put("String", "Hi its a string");
NodesFound.put("Number", 1);
NodesFound.put("children", children);
Set<String> nodeLabels = NodesFound.keySet();
for (String label : nodeLabels) {
Object value = NodesFound.get(label);
Class<?> theClass = value.getClass();
myFun("myVal", theClass.cast(value))
}
Ожидается: myFun()
не должно выдавать ошибку несоответствия типов.
Actual: Следующая ошибка компиляции:прибытие: метод myFun (String, Value) в типе Node не применим для аргументов (String, capture # 3-of?)