小萌绝对不能再犯(根本错误)

1.强制转化类型:Map转为list,错误代码:

                List<String> convertList = (List<String>) rowData;

问题在于rowData是个map,而我需要转成List,我以为直接强转就可以,list和map可以互相转换,但是不能强制转换,要写个方法。正确写法:

 public static List<String> convertToListOfLists(Map<Integer,String> map) {
        return  new ArrayList<>(map.values());
    }

然后再把rowData传进去就好了。

List<String> convertList = convertToListOfLists(rowData);

2.不能再把List<List<String>>直接转为Map<String,String>,因为List<T>,而现在要把<T>转为一个Map<String,String>可以实现,但是把List<T>转为Map<String,String>不可以,因为是两层List转为了一层的map,丢了一层数据都不知道在哪丢的,属于多对一,如果统计的时候可能会出现这种情况,一般不会这样,一般都是一对一,然后再for循环。

这样就是错的,方法体都是错的,更别说里面的方法了。

public static Map<String, String> convertListToMap(Map<String, Integer> headMapExcel,List<List<String>> dataList) {

那么怎么写正确呢?

    public static Map<String, String> convertListToMap(Map<String, Integer> headMapExcel,List<String> dataList) {

这样单层转可以实现, 

然后再for循环里调单个的数据就ok

for (List<String> data:dataLists){
Map<String, String> convertMap = convertListToMap(headMapExcel, data);
dataList.add(convertMap);
}

 

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值