1. 程式人生 > >JAVA中String類的split方法的易錯點

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','','']

發現解析後的陣列是一一對應的關係了

在此記錄錯誤點