我从网址得到一个结果:
[[1509321600000,35166.44],[1509408000000,35224.31],[1509580800000,35234.60]]
它是一个String,我想转换为一个数组数组。
是否存在功能?或者我是否必须使用爆炸功能并手动创建阵列?
答案 0 :(得分:2)
正如评论中所建议的那样,由于字符串是一个有效的JSON数组声明,因此将其解析为JSON可能是最简单的,也是将来最容易维护的。使用google/gson
库代码如下所示:
String string = "[[1509321600000,35166.44],[1509408000000,35224.31],[1509580800000,35234.60]]";
String[][] array = new Gson().fromJson(string, String[][].class);
答案 1 :(得分:0)
默认情况下没有提供任何功能,但您可以使用Streams执行以下操作(如果您的String具有您指定的格式):
String[][] a =
Arrays.stream(s.substring(2, s.length()-2).split("\\],\\["))
.map(sub -> sub.split(","))
.toArray(String[][]::new);
在这里,你切断了第一个和最后两个括号(.substring(2, s.length()-2)
),然后拆分你的字符串(.split("\\],\\[")
)(这会产生一个格式为字符串的数组" asdf,fdsa& #34;
Array.stream
创建一个流,map
将这些字符串拆分为数组,然后您可以使用toArray
方法收集它们。
打印此阵列数组会导致:
1509321600000 35166.44
1509408000000 35224.31
1509580800000 35234.60