java String 转成Double二维数组的方法

时间:2021-11-06 21:53:43

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