java String 轉成Double二維數組

WHY

        朋友在羣裏求助一個問題,問題原型是這樣的:

String str = "{{10.14, 11.24, 44.55, 41.01},{12.10, 14.21, 52.14, 50.44},{14.44, 16.12, 45.42, 47.55}}";
轉成double[][]{  
            {10.14, 11.24, 44.55, 41.01},  
            {12.10, 14.21, 52.14, 50.44},  
            {14.44, 16.12, 45.42, 47.55}  
        }

也就是把一個可以轉換的String轉成double的二維數組。


HOW

       乍一看,感覺很簡單,實現了一下,按慣例先貼代碼:

String str = "{{10.14, 11.24, 44.55, 41.01},{12.10, 14.21, 52.14, 50.44},{14.44, 16.12, 45.42, 47.55}}";
		str = str.replace("{", "[").replace("}", "]");
		String[][] arr = JSON.parseObject(str, String[][].class);
		Double[][] ds = new Double[arr.length][arr[0].length];
		for(int j=0;j<arr.length;j++){
			for(int i=0;i<arr[0].length;i++){
				ds[j][i] = Double.valueOf(arr[j][i]);
			}
		}

       這個裏面有幾個要注意的點是

      1.先將花括號替換成中括號,

       2.使用JSON的轉化,先轉成String的二維數組

       3.然後纔是把數組中的值轉成Double的

       4.我使用的JSON包是fastjson的

    import com.alibaba.fastjson.JSON;





發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章