字符串拼接的四种方式详解,代码测试

Posted 二师弟&

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了字符串拼接的四种方式详解,代码测试相关的知识,希望对你有一定的参考价值。

字符串拼接的四种方式

1. 使用+ 号进行字符串拼接

通过加号拼接原理类似于下面代码:


StringBuilder  sb = new StringBuilder();
sb.append("123");
sb.append("456");
System.out.println(sb.toString());

2. concat() 方法

查看源码如下:

源码解析:
1. 创建一个新的字符数组
2. 将两个字符串复制到字符数组当中
3. 通过new String 的方式将字符数组转为 String 返回。

3 .StringBuffer(线程安全,效率没有 StringBuilder 高)

4. StringBuilder(线程不安全)

代码测试如下:


/**
 * @author zfy
 * @version 1.0
 * @date 2022/6/16 22:42
 * @Description: 字符串拼接常用方法
 */
public class StringTest 
    public static void main(String[] args) 
        
        /*
         * 1. 通过 + 号进行字符串拼接
         */
        String s1 = "a";
        String s2 = "b";
        String s3 = s1 + "," + s2;
        //输出a,b
        System.out.println(s3);

        /*
        * 2. concat()方法
        */
        /**
         * 源码解析:
         * 1. 创建一个新的字符数组
         * 2. 将两个字符串复制到字符数组当中
         * 3. 通过new String 的方式将字符数组转为 String 返回!
         */
        String s4 = "Hello";
        s4.concat("World!");
        String s5 = s4.concat(" world");
        //Hello
        System.out.println(s4);
        //Hello world
        System.out.println(s5);

        /*
        * 3. StringBuffer(线程安全,有synchronize修饰)
        */
        StringBuffer stringBuffer = new StringBuffer();
        stringBuffer.append("a");
        stringBuffer.append("b");
        //输出ab
        System.out.println(stringBuffer);

        /*
        * 4. StringBuilder(线程不安全)
         */
        StringBuilder stringBuilder = new StringBuilder();
        stringBuilder.append("q");
        stringBuilder.append("w");
        //输出:qw
        System.out.println(stringBuilder);

    



注意:

循环体内的字符串拼接,使用StringBuilder的append()方法。因为如果使用加号进行拼接,每一次都会 new 出一个StringBuilder,造成资源浪费,效率低下。

在并发编程下,将StringBuilder换成线程安全的StringBuffer。

以上是关于字符串拼接的四种方式详解,代码测试的主要内容,如果未能解决你的问题,请参考以下文章

渲染数据的方式

SpringBoot——Thymeleaf中的四种字面量(文本数字布尔null)字符串拼接运算符

SpringBoot——Thymeleaf中的四种字面量(文本数字布尔null)字符串拼接运算符

MySQL批量插入数据的四种方案(性能测试对比)

详解数据类型检测的四种方式

关于字符串的拼接方式