Java拼接字符串,逗号分隔

这段代码巧妙的是通过条件判断就不用考虑拼接后的字符串首尾是否有多余的逗号问题。

    public static String buildFieldString(String... fields) {
        StringBuilder sb = new StringBuilder();
        for (String field : fields) {
            if (field != null && !field.trim().isEmpty()) {
                if (sb.length() > 0) {
                    sb.append(",");
                }
                sb.append(field);
            }
        }
        return sb.toString();
    }

### Java中使用逗号拼接字符串的方法 在Java中,有多种方法可以将字符串集合用逗号拼接成一个完整的字符串。以下是几种常见的实现方式: #### 1. 使用`for`循环手动拼接 通过`for`循环遍历集合中的每个元素,并在每个元素后添加逗号,最后删除最后一个多余的逗号[^2]。 ```java List<String> list = Arrays.asList("a", "b", "c"); StringBuilder sb = new StringBuilder(); for (int i = 0; i < list.size(); i++) { sb.append(list.get(i)); if (i < list.size() - 1) { sb.append(","); } } String result = sb.toString(); ``` #### 2. 使用Apache Commons Lang库的`StringUtils.join` `StringUtils.join`方法可以直接将集合中的元素用指定的分隔符拼接成一个字符串[^2]。 ```java import org.apache.commons.lang3.StringUtils; List<String> list = Arrays.asList("a", "b", "c"); String result = StringUtils.join(list, ","); ``` #### 3. 使用`Stream API`和`Collectors.joining` 通过`Stream API`的`map`和`collect`方法,结合`Collectors.joining`,可以简洁地实现字符串拼接。 ```java List<String> list = Arrays.asList("a", "b", "c"); String result = list.stream().map(String::valueOf).collect(Collectors.joining(",")); ``` #### 4. 使用Lambda表达式遍历并拼接 通过`forEach`方法遍历集合中的每个元素,并在每个元素后追加逗号,最后删除最后一个逗号[^3]。 ```java List<String> list = Arrays.asList("a", "b", "c"); StringBuilder sb = new StringBuilder(); list.forEach(str -> sb.append(str).append(",")); if (sb.length() > 0) { sb.deleteCharAt(sb.length() - 1); } String result = sb.toString(); ``` #### 5. 使用Google Guava库的`Joiner` `Joiner`类提供了简单易用的接口来实现字符串拼接[^2]。 ```java import com.google.common.base.Joiner; List<String> list = Arrays.asList("a", "b", "c"); String result = Joiner.on(",").join(list); ``` #### 6. 使用`String.join`方法 `String.join`是Java 8引入的一个静态方法,可以直接将集合中的元素用指定的分隔符拼接成一个字符串[^2]。 ```java List<String> list = Arrays.asList("a", "b", "c"); String result = String.join(",", list); ``` 以上方法各有优劣,选择具体实现方式时可以根据项目依赖、代码风格和个人偏好进行决定。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值