Java基础

您所在的位置:网站首页 java拼接数组 Java基础

Java基础

2023-09-16 09:47| 来源: 网络整理| 查看: 265

在这里插入图片描述 split提供了两个参数,第一个参数是拆分的标准字符,第二个参数是limit,即需要拆分成几个元素。需要注意的是,拆分结果是返回一个字符串类型的数组String[],而不是String; 具体示例如下: 在这里插入图片描述 在这里插入图片描述

可以的到结论是拆分结果里不会出现被拆分的字段,同时还受limit参数的影响。 另外拆分对象中存在空值的时候并不会去除而是同样保留下来,示例如下: 在这里插入图片描述 但平时需求中通常不需要保留空值(虽然也有trim,但是只能去除前后的空格),这时就需要用到第三方的开源API——Guava。 以下是网上找到的相关知识与学习链接。

String a =",a, , b c ,"; // Splitter 是 Guava 提供的 API List list = Splitter.on(',') .trimResults()// 去掉空格 .omitEmptyStrings()// 去掉空值 .splitToList(a); log.info("Guava 去掉空格的分割方法:{}",JSON.toJSONString(list)); // 打印出的结果为: ["a","b c"]

学习链接 合并我们使用 join 方法,此方法是静态的,我们可以直接使用。方法有两个入参,参数一是合并的分隔符,参数二是合并的数据源,数据源支持数组和 List,在使用的时候,我们发现有两个不太方便的地方:

不支持依次 join 多个字符串,比如我们想依次 join 字符串 s 和 s1,如果你这么写的话 String.join(",",s).join(",",s1) 最后得到的是 s1 的值,第一次 join 的值被第二次 join 覆盖了; 如果 join 的是一个 List,无法自动过滤掉 null 值。 而 Guava 正好提供了 API,解决上述问题,演示如下:

// 依次 join 多个字符串,Joiner 是 Guava 提供的 API Joiner joiner = Joiner.on(",").skipNulls(); String result = joiner.join("hello",null,"china"); log.info("依次 join 多个字符串:{}",result); List list = Lists.newArrayList(new String[]{"hello","china",null}); log.info("自动删除 list 中空值:{}",joiner.join(list)); // 输出的结果为; 依次 join 多个字符串:hello,china 自动删除 list 中空值:hello,china

Guava 不仅仅支持多个字符串的合并,还去掉了 List 中的空值。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3