JAVA 字符串用逗号连接

标签 java

嘿伙计们,谁能告诉我一个用逗号连接这些字符串的好方法

基本上,我正在构建一个 header 条件字符串,显示已选择了哪些表单变量。我需要在值之间放置逗号并保持中断标记的位置……有人能看到更好的方法吗?如果只有值(value),我不想要逗号

这是当前格式化后的样子:

enter image description here

protected final String getCriteriaHeader(MetricFilterCriteriaForm form)
{
    String filterCriteria = "<br/>";

    }
    if (form.isSacNone() || form.isSac1() || form.isSac2() || form.isSac3())
    {
        filterCriteria = filterCriteria + "SAC:";
    }
    if (form.isSacNone())
    {
        filterCriteria = filterCriteria + " NONE";
    }
    if (form.isSac1())
    {
        filterCriteria = filterCriteria + " 1";
    }
    if (form.isSac2())
    {
        filterCriteria = filterCriteria + " 2";
    }
    if (form.isSac3())
    {
        filterCriteria = filterCriteria + " 3";
    }
    if (form.isSac1() || form.isSac2() || form.isSac3())
    {
        filterCriteria = filterCriteria + "<br/>";
    }
    if (form.isRegularScheduleType() || form.isLotScheduleType() || form.isBatchScheduleType())
    {
        filterCriteria = filterCriteria + "Schedule Type:";
    }
    if (form.isRegularScheduleType())
    {
        filterCriteria = filterCriteria + " Regular";
    }
    if (form.isLotScheduleType())
    {
        filterCriteria = filterCriteria + " Lot";
    }
    if (form.isBatchScheduleType())
    {
        filterCriteria = filterCriteria + " Batch";
    }

    return filterCriteria;
}

最佳答案

有多种方法可以使用分隔符连接字符串中的一组值。

使用 StringBuilder

用逗号添加值,然后手动删除最后一个逗号。

StringBuilder sb = new StringBuilder();
if (/*condition1*/) {
    sb.add("A,"); // value with comma
}
if (/*condition2*/) {
    sb.add("B,");
}
sb.delete(sb.length()-1, sb.length()); // remove last character, which is the comma.
String result = sb.toString(); // get the result string.

使用 Guava 的 Joiner

将它们全部放在一个列表中并使用 Joiner .

List<String> list = Lists.newArrayList();
if (/*condition1*/) {
    list.add("A"); // no comma here
}
if (/*condition2*/) {
    list.add("B");
}
String result = Joiner.on(",").join(list); // use Joiner to join elements of the list.

除了 Guava,还有来自 Apache Common Lang 的 StringUtils.Join。请参阅@Iswanto San 的回答。

关于JAVA 字符串用逗号连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14982635/

相关文章:

java - Java 中的递归是如何工作的?

java - 如何将时间转换为长?

java - 泛型:返回类型错误

java - 如何从 MultipleSelectListPreference 读取值

java - Jmeter:如何在不同的 JMX 文件之间重用自定义 java 函数

java - 获取 JLabels java 网格布局中元素的位置(行和列)

java - 如何在 Java 中正确 append 两个二维数组?

java - 使用 ant build 生成 war 时替换 jnlp 中的字符串

java - 在 Java Android 中将字符串文本设为粗体

java - android webview加载图像