字符串拼接的四种方式详解,代码测试
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)字符串拼接运算符