WHY
朋友在群里求助一個問題,問題原型是這樣的:
1
2
3
4
5
6
|
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
乍一看,感覺很簡單,實現了一下,按慣例先貼代碼:
1
2
3
4
5
6
7
8
9
|
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的
1
|
import com.alibaba.fastjson.JSON; |
以上就是小編為大家帶來的java String 轉成Double二維數組的方法全部內容了,希望大家多多支持服務器之家~