java五种拼接字符串的方法

本文通过对比不同字符串拼接方式的性能,包括使用加号(+)、concat()方法、StringUtils.join()、StringBuffer和StringBuilder,得出StringBuilder是性能最优的方法。
package test;
import org.apache.commons.lang.StringUtils;
public class CutString {
    //性能最差
    public String testPlus() {
        String s = "";
        for (int i = 0; i < 10000; i++) {
            s = s + String.valueOf(i);
        }
        return s;
    }
    //较好
    public String testConcat() {
        String s = "";
        for (int i = 0; i < 10000; i++) {
            s = s.concat(String.valueOf(i));
        }
        return s;
    }
     
    //性能与testStringBuffer相差无几,比其要好
    public String testJoin() {
        String[] list = new String[10000];
        for (int i = 0; i < 10000; i++) {
            list[i] = String.valueOf(i);
        }
        return StringUtils.join(list, "");
    }
    public String testStringBuffer() {
        StringBuffer sb = new StringBuffer();
        long l1 = System.currentTimeMillis();
        for (int i = 0; i < 10000; i++) {
            sb.append(String.valueOf(i));
        }
        long l2 = System.currentTimeMillis();
        System.out.println(l2-l1);
        return sb.toString();
    }
     
    //性能最高的方法
    public void testStringBuilder() {
        StringBuilder sb = new StringBuilder();
        for (int i = 0; i < 100000; i++) {
            sb.append(String.valueOf(i));
        }
        sb.toString();
    }
    public static void main(String[] args) {
        System.out.println(new CutString().testStringBuffer());
    }
}

### 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、付费专栏及课程。

余额充值