List<Map> 若何转换为List<Map<String,String>>

yanglk2010 发布于 05/21 11:07
浏览 463
收藏 0

List<Map>  若何转换为List<Map<String,String>>?

List<Map<String,String>> = (List<Map<String,String>>)List<Map> 强迫转换为甚么不可?

加载中
2
zh0
zh0

List<Map<String,String>> = new ArrayList<>(List<Map>), 你如许试下,应当个泛型是raw type有关系 

1

假设能肯定  入参的List 就是一个 List<Map<String,String>> 则最好在泉源就将泛型束缚好,不然能够出现编码期无错,运转期出现类型转换的成绩

不克不及肯定泛型类型的话,最后遍历转换一次,或许Stream的方法做类型转换,防止运转期的类型转换缺点

0
前端大年夜徒弟
前端大年夜徒弟

怎样能够,类型不一样,弗成能强转。强转只是原类型和目标类型是父子级才可以。

如 int a =0; 转成 object b今后再转回来,即 (int)b这是可以的。

这就是 as 和 is的关系。

你这个Map 和 Map<string,string>不是父子级关系,怎样能够强转。

只能写代码用stream来转。

0
J
Jason909
List<Map> m = new ArrayList<>();
List m1 = m;
List<Map<String, String>> m2 = (List<Map<String, String>>) m1; // 不报错
List<?> m3 = m;
m2 = (List<Map<String, String>>) m3; // 不报错

 

前往顶部
顶部