list<string> java_在Java中将List转换为String

359997cb0d3964ea6e51ef1e4fff2ce9.png

图:女儿的恐龙玩具

1.简介

在这篇快速文章中,我们将了解如何将元素列表转换为String。这在某些情况下可能很有用,例如以可读的形式将内容打印到控制台以进行检查/调试。

2.使用 List 的 toString()方法打印

@Test

public void whenListToString_thenPrintDefault() {

List intLIst = Arrays.asList(1,2,3);

System.out.println(intLIst);

}

输出

[1, 2, 3]

此处会调用内部使用List中元素类型的toString()方法。在我们的例子中,我们使用的是Integer类型,它具有toString()方法的正确实现。

如果我们使用自定义类型,比如Person,那么我们需要确保Person类重写toString()方法并且不依赖于默认实现。如果未正确实现toString()方法,则可能会出现意外结果:

[org.baeldung.java.lists.ListToSTring$Person@1edf1c96,

org.baeldung.java.lists.ListToSTring$Person@368102c8,

org.baeldung.java.lists.ListToSTring$Person@6996db8]

3.使用 Collectors 实现

通常,我们可能需要以不同的格式显示输出。与前面的示例相比,让我们用连字符(-)替换逗号 (,) ,用一组花括号({,})替换方括号([,]):

@Test

public void whenCollectorsJoining thenPrintCustom() {

List intList = Arrays.asList(1,2,3);

String result = intList.stream()

.map(n -> String.valueOf(n))

.collect(Collectors.joining("-","{","}"));`

System.out.println(result);

}

输出结果:

{1-2-3}

Collectors.joining()方法需要CharSequence,因此我们需要将Integer映射到String。即使我们无法访问该类的代码,也可以在任何其他类的情况下使用相同的想法。

4.使用第三方库

下面将看到使用Apache Commons的StringUtils类来实现类似的结果。

4.1Maven Dependency

org.apache.commons

commons-lang3

3.6

可以在此处找到最新版本的依赖项。

4.2实现

该实现实际上是单个方法调用:

@Test

public void whenStringUtilsJoin_thenPrintCustom() {

List intList = Arrays.asList(1,2,3);

System.out.println(StringUtils.join(intList,"|"));

}

输出:

1|2|3

同样,这个实现在内部依赖于我们正在考虑的类型的toString()实现。

5.结语

在本文中,我们看到使用不同的技术将List转换为String是多么容易。与往常一样,可以在GitHub上找到本文的完整源代码。

>>> 每个人都觉得自己有理由,所以需要理解,但理解并不能化解所有局限,所以需要宽容。 <<<

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值