Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java LinkedCaseMensitive映射转换问题与Spring更高版本的HashMaps_Java_Spring_Hashmap_Linkedhashmap - Fatal编程技术网

Java LinkedCaseMensitive映射转换问题与Spring更高版本的HashMaps

Java LinkedCaseMensitive映射转换问题与Spring更高版本的HashMaps,java,spring,hashmap,linkedhashmap,Java,Spring,Hashmap,Linkedhashmap,LinkedCaseInsensitiveMap是Spring框架的一部分,它扩展了LinkedCaseInsensitiveMap 层次结构如下所示: java.lang.Object java.util.AbstractMap java.util.HashMap java.util.LinkedHashMap org.springframework.util.LinkedCaseInsensitiveMap 有关信息,请参阅: 现在我有了这个代码: List<HashMap<St

LinkedCaseInsensitiveMap是Spring框架的一部分,它扩展了LinkedCaseInsensitiveMap

层次结构如下所示:

java.lang.Object

java.util.AbstractMap

java.util.HashMap

java.util.LinkedHashMap

org.springframework.util.LinkedCaseInsensitiveMap

有关信息,请参阅:

现在我有了这个代码:

List<HashMap<String, String>> l_lstResult = (List<HashMap<String, String>>)service.fetchRowwiseMultipleRecords(p_iQueryName, l_hmParams, userDetails);

                l_lstCityTownList = new ArrayList<String>(l_lstResult.size());

                for (int i = 0; i < l_lstResult.size(); i++) {
                    HashMap<String, String> l_hmColmnData = l_lstResult.get(i);
                    String l_sValue = l_hmColmnData.get(p_sColumnName);
                    l_lstCityTownList.add(l_sValue);
                }

List l_lstreult=(List)service.fetchRowwiseMultipleRecords(p_iQueryName、l_hmParams、userDetails);
l_lstCityTownList=新的ArrayList(l_lstResult.size());
对于(int i=0;i
l_lstress返回LinkedCaseInsensitiveMap,我在HashMap l_hmColmnData=l_lstress.get(i)行中得到错误

java.lang.ClassCastException: 无法将org.springframework.util.LinkedCaseInsensitiveMap强制转换为 java.util.HashMap

问题是我在Spring版本4.3.14.RELEASE中遇到了这个错误,而在3.2.3.RELEASE中没有错误。其中是3.2.3.版本中允许该铸件的规范

任何建议、例子都会对我有很大帮助


非常感谢

自Spring 4.3.6.RELEASE以来,LinkedCaseInsensitiveMap不再扩展LinkedHashMap和HashMap,而是只实现Map接口


当您将
service.fetchRowwiseMultipleRecords(p_iQueryName、l_hmParams、userDetails)
强制转换为
List
时,您只是告诉编译器相信您。但是,当获取列表的第一个元素时,它失败了,因为它不是HashMap,而是LinkedCaseInsensitiveMap(不是扩展HashMap)

这会解决你的问题


List l_lstreult=service.fetchRowwiseMultipleRecords(p_iQueryName、l_hmParams、userDetails);
l_lstCityTownList=新的ArrayList(l_lstResult.size());
对于(int i=0;i
自Spring 4.3.6.RELEASE以来,LinkedCaseInsensitiveMap不再扩展LinkedHashMap和HashMap,而是只实现Map接口


当您将
service.fetchRowwiseMultipleRecords(p_iQueryName、l_hmParams、userDetails)
强制转换为
List
时,您只是告诉编译器相信您。但是,当获取列表的第一个元素时,它失败了,因为它不是HashMap,而是LinkedCaseInsensitiveMap(不是扩展HashMap)

这会解决你的问题


List l_lstreult=service.fetchRowwiseMultipleRecords(p_iQueryName、l_hmParams、userDetails);
l_lstCityTownList=新的ArrayList(l_lstResult.size());
对于(int i=0;i
为什么需要将Llsturesult强制转换为
列表
?由于
LinkedCaseInsensitiveMap
实现了
HashMap
,因此它提供了它的所有方法。此外,
service.fetchRowwiseMultipleRecords()
返回LinkedCaseInsensitiveMap的列表,或者只返回LinkedCaseInsensitiveMap?服务。fetchRowwiseMultipleRecords()返回LinkedCaseInsensitiveMap的列表。对于产生错误的场景,它返回一个LinkedCaseInsensitiveMap。当我得到它时,代码是这样的。我想知道它在Spring 3.2.3版本中是如何工作的,而不是在4.3.14版本中。为什么需要将l_lstResult强制转换为
列表
?由于
LinkedCaseInsensitiveMap
实现了
HashMap
,因此它提供了它的所有方法。此外,
service.fetchRowwiseMultipleRecords()
返回LinkedCaseInsensitiveMap的列表,或者只返回LinkedCaseInsensitiveMap?服务。fetchRowwiseMultipleRecords()返回LinkedCaseInsensitiveMap的列表。对于产生错误的场景,它返回一个LinkedCaseInsensitiveMap。当我得到itI时,代码是这样的。我想知道它在Spring3.2.3版本中是如何工作的,而不是在4.3.14版本中,这正是我想要的。谢谢!正是我想要的。谢谢!