作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
有一个类似“[[7], [2,2,3]]
”的字符串。
如何将此字符串转换为 List<List<Integer>>
对象?
这是为了在JUnit5中实现一个参数转换器。
@CsvSource({
"'[2,3,6,7]', 7, '[[7], [2, 2, 3]]'"
})
我想将字符串“[[7], [2,2,3]]
”转换为List<List<Integer>>
对象。
最佳答案
试试这个:
您在 ], [
处拆分了输入字符串,这为您提供了以下行:
row[0]: [[7
row[1]: 2,2,3]]
然后删除 '[['
']]'
字符串
row[0]: 7
row[1]: 2,2,3
然后您通过在 ','
处进一步拆分它们来遍历行的元素,并将每个元素添加到列表中。完成一行后,将其添加到 listOfLists 的列表中。
public List<List<Integer>> parseList(){
String s = "[[7], [2,2,3]]";
return Arrays.stream(s.split("], \\["))
.map(row -> row.replace("[[", "").replace("]]", ""))
.map(row -> Arrays.stream(row.split(","))
.map(Integer::parseInt).collect(Collectors.toList())
).collect(Collectors.toList());
}
关于java - 如何将 int[][] 字符串转换为 List<List<Integer>>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58337277/
我是一名优秀的程序员,十分优秀!