1.概述

在本教程中,我们将学习如何使用木匠分离器在番石榴库。我们将集合转换为带有的字符串木匠我们会将一个字符串分成一个集合分离器

2.转换列表进入细绳使用木匠

让我们从一个简单的例子开始加入一个列表进入A.细绳使用木匠。在以下示例中,我们加入一个列表名字细绳使用逗号“,”作为分隔符:

@Test公共void时vertlisttostring_thenconverted(){list  names = lists.newarraylist(“John”,“Jane”,“Adam”,“Tom”);String结果= Joiner.on(“,”)。加入(姓名);assertequals(结果,“John,Jane,Adam,Tom”);}

3.转换地图细绳使用木匠

接下来 - 让我们看看如何使用木匠转换A.地图到A.细绳。在以下示例中,我们使用withkeyvalueseparator()加入其值的关键:

@Test公共void当vertmapt ostring_thenconverted(){map  alary = maps.newhashmap();薪水(“约翰”,1000);薪水(“简”,1500);String结果= Joiner.on(“,”).withkeyvaluesperator(“=”).join(薪水);asserthat(结果,包含(“John = 1000”));asserthat(结果,包含(“Jane = 1500”)));}

4.加入嵌套集合

现在 - 让我们看看如何将嵌套集合加入其中细绳。在以下示例中,我们加入了转换的结果列表到A.细绳

@Test公共void时joinnestedcollections_thenjoined(){list >嵌套= lists.newarraylist(lists.newarraylist(“Apple”,“Banana”,“Orange”),lists.newarraylist(“Cat”,“狗”,“鸟”),lists.newarraylist(“John”,“简”,“亚当”);String结果= Joiner.on(“;”)。加入(iterables.Transform(嵌套,新函数,String>(){@Override Public String应用(list  Input){return Joiner.on(“ - ”)。加入(输入);}}));assertthat(结果,包含(“Apple-Banana-Orange”));assertthat(结果,包含(“Cat-Dog-Bird”));assertthat(结果,包含(“Apple-Banana-Orange”));}

5.使用时处理null值木匠

现在 - 让我们看到使用Joiner时处理不同的方法来处理空值。

跳过空值加入收藏使用时skipnulls()如在以下示例中:

@Test公共void当控制risttostringandskipnull_thenconverted(){list  names = lists.newarraylist(“John”,Null,“Jane”,“Adam”,“Tom”);String结果= Joiner.on(“,”)。Skipnulls()。加入(姓名);assertequals(结果,“John,Jane,Adam,Tom”);}

如果您不想跳过空值并想要更换它们而不是, 用Usefornull()如在以下示例中:

@test public void whysusefornull_thenused(){list  names = lists.newarraylist(“John”,Null,“Jane”,“Adam”,“Tom”);String结果= Joiner.on(“,”)。Usefornull(“无名”)。加入(姓名);assertequals(结果,“John,Namest,Jane,Adam,Tom”);}

注意Usefornull()没有更改原始列表,它只影响加入的输出。

6.创建列表细绳使用分离器

现在 - 让我们看看如何分开一个细绳进入A.列表。在以下示例中,我们使用“ - ”分隔符分割输入细绳列表

@test public vod whincreatelistromstring_thencreated(){String Input =“Apple  -  Banana  - 橙色”;列表结果= splitter.on(“ - ”)。trimresults().splittolist(输入);assertthat(结果,包含(“苹果”,“香蕉”,“橙色”));}

注意trimresults()从生成的子串中删除前导和尾随空格。

7.创建地图细绳使用分离器

下一步 - 让我们看看如何使用分配器从字符串创建映射。在以下示例中,我们使用withkeyvalueseparator()分开A.细绳进入A.地图

@test公共void时当传染症adfromstring_thencreated(){String input =“John = First,Adam =秒”;地图<字符串,字符串>结果= splitter.on(“,”).withkeyvalueseparator(“=”).split(输入);assertequals(“第一”,结果。(“John”);assertequals(“第二”,结果)(“亚当”));}

8.分裂细绳有多个分隔符

现在 - 让我们看看如何分开一个细绳有多个分隔符。在以下示例中,我们使用两个“。”和“,”分裂我们的细绳

@test公共void whensplitstringonmultiplipleperator_thensplit(){String Input =“Apple.Banana,橙色,”;列表结果= splitter.onpattern(“[。,]”).omitemptystrings().splittolist(输入);assertthat(结果,包含(“苹果”,“香蕉”,“橙色”));}

注意omitemptystrings()忽略空字符串,不会将它们添加到结果中列表

9.分开A.细绳在特定的长度

接下来 - 让我们看看分裂细绳在特定的长度。在以下示例中,我们拆分了我们的细绳每3个字符:

@test公共void whensplitstringonspecificlength_thensplit(){String Input =“Hello World”;列表结果= splitter.fixedLength(3).splittolist(输入);assertthat(结果,包含(“hel”,“lo”,“wor”,“ld”));}

10.限制分割结果

最后 - 让我们看看如何限制拆分结果。如果你想要的话分离器在特定数量的项目后停止分裂- 用限制()如在以下示例中:

@test公共void whenlimitsplitting_thenlimited(){string输入=“a,b,c,d,e”;列表结果= splitter.on(“,”).limit(4).splittolist(输入);assertequals(4,结果.Size());asserthat(结果,包含(“a”,“b”,“c”,“d,e”));}

11.结论

在本教程中,我们说明了如何使用木匠分离器在番石榴,在收藏品和字符串之间做各种转换。

实现所有这些示例和代码片段可以找到我的Guava Github项目- 这是一个基于Eclipse的项目,因此应该易于导入和运行。

通用底部

使用Spring 5和Spring Boot 2开始,通过学习春天课程:

>>查看课程
3.注释
最老的
最新
内联反馈
查看所有评论
评论在本文上关闭!