微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何将数组保存为字符串而不将所有数据混合到一行中?

如何解决如何将数组保存为字符串而不将所有数据混合到一行中?

如果我有一个存储这些数据的数组

String stringArray[] = {
        "Apple a Day Keep You Away","Banana a Day Keep Her Away","Cat like Dog"};
StringBuffer sb = new StringBuffer();
for (int i = 0; i < stringArray.length; i++) {
    sb.append(stringArray[i]);
}
String str = sb.toString();
System.out.println(str);

我这样写是不是会变成Apple a Day Keep You AwayBanana a Day Keep Her AwayCat like Dog或者我需要添加\n这样的sb.append(stringArray[i] + "\n")才能得到我想要的东西。

Apple a Day Keep You Away
Banana a Day Keep Her Away
Cat like Dog

解决方法

除了使用 StringBuffer,您还可以使用 StringJoiner 为所有字符串附加一个分隔符。这也可以防止在上次结果后添加额外的新行

String stringArray[] = {"Apple a Day Keep You Away","Banana a Day Keep Her Away","Cat like Dog"};
StringJoiner joiner = new StringJoiner("\n");
for(int i = 0; i < stringArray.length; i++) {
    joiner.add(stringArray[i]);
}
String str = joiner.toString();
System.out.println(str);

您甚至可以使用流式 API 并使用换行符将结果附加到那里。

String stringArray[] = {"Apple a Day Keep You Away","Cat like Dog"};

String str = Arrays.stream(stringArray).collect(Collectors.joining("\n"));
System.out.println(str);
,

Java 8 开始,您可以使用 String.join 方法:

String stringArray[] = {
        "Apple a Day Keep You Away","Cat like Dog"};

String str = String.join("\n",stringArray);

System.out.println(str);

输出:

Apple a Day Keep You Away
Banana a Day Keep Her Away
Cat like Dog

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。