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二维数组的方法全部内容了,希望大家多多支持服务器之家~