-6ren"> -给定一个列表 List l = new ArrayList(); l.add("one"); l.add("two"); l.add("three"); 我有一个方法 String join(List-6ren">
gpt4 book ai didi

java - 在 Java 中使用逗号和 "and"连接列表

转载 作者:行者123 更新时间:2023-12-02 00:52:01 26 4
gpt4 key购买 nike

给定一个列表

List<String> l = new ArrayList<String>();
l.add("one");
l.add("two");
l.add("three");

我有一个方法

String join(List<String> messages) {
if (messages.isEmpty()) return "";
if (messages.size() == 1) return messages.get(0);
String message = "";
message = StringUtils.join(messages.subList(0, messages.size() -2), ", ");
message = message + (messages.size() > 2 ? ", " : "") + StringUtils.join(messages.subList(messages.size() -2, messages.size()), ", and ");
return message;
}

对于 l,产生“一、二、三”。我的问题是,是否有一个标准(apache-commons)方法可以执行相同的操作?例如

WhatEverUtils.join(l, ", ", ", and ");

澄清一下。我的问题是无法让这种方法发挥作用。它的工作原理正如我所希望的那样,经过测试,一切都很好。我的问题是我找不到一些实现此类功能的类似 apache-commons 的模块。这让我感到惊讶,因为我不可能是第一个需要这个的人。

但是也许其他人都已经完成了

StringUtils.join(l, ", ").replaceAll(lastCommaRegex, ", and");

最佳答案

在 Java 8 中,您可以使用 String.join(),如下所示:

Collection<String> elements = ....;
String result = String.join(", ", elements);

关于java - 在 Java 中使用逗号和 "and"连接列表<String>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57849932/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com