Map.Entry<?,?> returns 作为对象 [Bukkit 插件加载器,AddonDescriptionFile]

Map.Entry<?,?> returns as object [Bukkit plugin loader, AddonDescriptionFile]

在代码中:

for (Map.Entry<?,?> command : ((Map)map.get("commands")).entrySet()) {
    ImmutableMap.Builder<String, Object> commandBuilder = ImmutableMap.builder();
    if (command.getValue() != null) {
        for (Map.Entry<?, ?> commandEntry : ((Map)command.getValue()).entrySet()) {
            if ((commandEntry.getValue() instanceof Iterable)) {
                ImmutableList.Builder<Object> commandSubList = ImmutableList.builder();
                for (Object commandSubListItem : (Iterable)commandEntry.getValue()) {
                    if (commandSubListItem != null) {
                        commandSubList.add(commandSubListItem);
                    }
                }
                commandBuilder.put(commandEntry.getKey().toString(), commandSubList.build());
            }
            else if (commandEntry.getValue() != null) {
                commandBuilder.put(commandEntry.getKey().toString(), commandEntry.getValue());
            }
        }
    }
    commandsBuilder.put(command.getKey().toString(), commandBuilder.build());
}

第二个 Map.Entry returns 作为对象但第一个工作正常?

有什么帮助吗?

ERROR: Required: Map.Entry<?, ?>
       Found: Object

截图:

似乎根本没有指定 any 类型参数,Map.entrySet() returns 只是一个普通的未参数化 Set。要获得 Set<Map.Entry<?,?>>,您至少必须使用通配符类型参数,即转换为 Map<?,?>

for (Map.Entry<?, ?> commandEntry : ((Map<?,?>) command.getValue()).entrySet()) {