无法从列表中转换<map <string,object =“”>&gt;列出<map <string,string =“”>&gt;

时间:2017-10-17 17:57:35

标签: spring

我被困住了,需要一些帮助。下面的代码适用于Springframework v2.5.6,但在使用任何更大版本时会出现错误。

public List<Map<String, String>> getAclUserRoles(String akoId) {
    List<Map<String, String>> roles = null;
    if (null == akoId || "".equals(akoId.trim())) {
        return null;
    }
    Object[] params = { akoId };
    roles = (List<Map<String, String>>) getJdbcTemplate().queryForList(ACL_QUERY, params);
    return roles;
}

我理解播放错误,但它很奇怪它是如何在该版本下工作但不是未来,并且在提供任何细节的文档中找不到任何内容。

2 个答案:

答案 0 :(得分:0)

似乎返回类型在v2.5.6和更多当前版本之间发生了变化。

由于covariance and contravariance work in Java的原因,

Map<String, object>无法投放到Map<String, String>

答案 1 :(得分:0)

我找到了解决方案,不得不换成这一行:

列表&gt; roles =(List)getJdbcTemplate()。queryForList(ACL_QUERY,params);