JAVA中String类的split方法的易错点

最近在项目中遇到了一个问题,就是解析字符串成数组进行比对的,

比如:

        {
            "imageDetail": "123&234&&",
            "imageType": "O&A&B&C"

        }

imageType与imageDetail数据属于一一对应关系,

方案一:split("&")

将imageType用split方法(imageType.split("&"))分隔成数组是:['O','A','B','C']

将imageDetail用split方法(imageDetail.split("&"))分隔成数组是:['123','234']

发现解析后的数组不是一一对应的关系了,

方案一缺点:只能解析到"O&A&B&C"这个情况的数据,

不能解析"123&234&&",这个情况下后面的&空数据;

查阅相关知识之后,发现split方法可以指定分隔数量,即:split("&",10)这种情况

方案二:split("&",number)

将imageType用split方法(imageType.split("&"))分隔成数组是:['O','A','B','C']

将imageDetail用split方法(imageDetail.split("&",imageType.split("&").length))分隔成数组是:['123','234','','']

发现解析后的数组是一一对应的关系了


在此记录错误点



猜你喜欢

转载自blog.csdn.net/sinat_28789467/article/details/81010001