后台接收字符串ids如何处理

后台接收字符串ids如何处理

/**
 * 拆分id字符串
 *
 * @param idsStr
 * @return
 */
public static Set<Long> splitIdsStr(String idsStr) {
    return Strings.isNotBlank(idsStr) ? Arrays.stream(idsStr.split(","))
            .filter(id -> Pattern.matches("\\d+", id))
            .map(Long::valueOf)
            .collect(Collectors.toSet()) : Collections.emptySet();
}
方法接收一个形参 idsStr,表示需要切割的字符串。具体操作如下:
1.首先使用 Apache Commons Lang 库中的 Strings.isNotBlank 方法判断 idsStr 是否非空非null2.如果 idsStr 不为空,则进行后续的切割和转换操作;如果为空,则返回一个空的 Set 集合(Collections.emptySet())。
3.将 idsStr 以逗号(",")作为分隔符进行切割,得到一个字符串数组。
4.使用 Arrays.stream 方法将字符串数组转换为流(Stream<String>)5.过滤流中的元素,只保留匹配正则表达式 "\d+" 的元素,即只保留由数字组成的字符串。
6.使用 map 方法将每个符合条件的字符串转换为长整型数据(Long)。
7.最后使用 collect(Collectors.toSet()) 将流中的元素收集到一个 Set<Long> 集合中,并作为方法的返回值。
该方法的功能是将传入的字符串按逗号分隔,并筛选出由数字组成的部分,转换为长整型数据,并将最终结果以 Set 的形式返回
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值