Java 关于split 的一些思考和应用(常见数据处理情况)

常见的使用场景,java后端经常需要传递多个参数值,用【,】隔开,然后后台再使用split进行数据分割,转换成列表,但是有时候,这个列表,还需要二次转换成其他数据,往往需要好几行代码才能实现,所以想了下,jdk8以后的版本,都是支持流处理的,可以非常方便的转换这类数据,将 String 数据转换成 List 、List、List 等数组

    // 格式化转换,有时候得到的数据,很奇怪,就需要特殊处理下
    String ids = "1,2,3,4,5,,6,非数字,7";
    List<Integer> idList = Arrays.stream(ids.split(",")) // 切割字符串
        .filter(o -> NumberUtil.isNumber(o)) // 判断数据是否是数字格式
        .map(Integer::parseInt) // 转换成所需要的数字格式
        .collect(Collectors.toList()); 
    // 打印执行结果
    System.out.println(idList);
执行结果(较好地输出了结果值)
    [1, 2, 3, 4, 5, 6, 7]

如上,只要一行代码,就可以将一个字符串变量提取成需要的格式,并转换成列表,方便用于各种数据操作

List idList = Arrays.stream(ids.split(",")).filter(o -> NumberUtil.isNumber(o)).map(Integer::parseInt).collect(Collectors.toList());
上一篇:感冒了~ vs中py和vb实现一个小算法


下一篇:《C++语言基础》实践项目——指针、const、static