java 数组字符串转数组,list集合(带泛型),二维数组,或者二维数组集合(带泛型)

java 数组字符串转数组,list集合(带泛型),二维数组,或者二维数组集合(带泛型)

2022-09-03
今天在开发时遇到需要将二维数组的字符串转换成二维数组,或者二维list集合

1. 二维数组字符串例子:

[[262698, 262699, 262701], [262698, 262699, 262889], [262698, 262699, 263058]]

2. 二维数组字符串转二维数组:

代码如下:

String str = "[[262698, 262699, 262701], [262698, 262699, 262889], [262698, 262699, 263058]]";
//二维数组字符串转二维数组
Integer[][] cityIds = JSON.parseObject(str, Integer[][].class);

结果:
在这里插入图片描述
其实不仅可以转换成对应的二维数组,如果遇到了带方括号的字符串(“[262698, 262699, 262701]”)转换成数组时,一样可以使用这样的方式,就不需要再对前后方括号进行处理后再按逗号分割。
代码如下:

String str = "[262698, 262699, 262701]";
Integer[] integers = JSON.parseObject(str, Integer[].class);

结果:
在这里插入图片描述

3. 二维数组字符串转二维list集合

在使用时,突然发现我需要直接使用转换后的list集合,然后指定了泛型是无法指定class,所以需要加一段这个代码来进行指定:new TypeReference<List<List<Integer>>>() {}
具体代码如下:

String str = "[[262698, 262699, 262701], [262698, 262699, 262889], [262698, 262699, 263058]]";
//二维数组字符串转二维数组
List<List<Integer>> integers = JSON.parseObject(str, new TypeReference<List<List<Integer>>>() {
    
    });

结果:
在这里插入图片描述
如果要转换list带泛型的用法一样:new TypeReference<List<Integer>>() {}
代码如下:

String str = "[262698, 262699, 262701]";
List<Integer> integers = JSON.parseObject(str, new TypeReference<List<Integer>>() {
    
    });

结果:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/Jackbillzsc/article/details/126679494