Java里连接字符串的几种方式以及优缺点

Java里连接字符串的几种方式以及优缺点

字符串连接操作在Java程序很常见,这篇文章将会总结归纳字符串连接的四种方式

  • + 连接

  • String.concat()

  • StringBuilder

  • StringBuffer

使用+号连接


class Helloworld {

public static void main(String[] args) {

// 现在有两个字符串, Hello与World!, 需要通过程序得到

// Hello World!

String str1 = "Hello ";

String str2 = "World!";

String str3 = str1 + str2;

System.out.println(str3);

}

}

结果: Hello World!

优点:

  • 操作简单

缺点:

  • 因为每次使用都会新生成一个String对象来负载新的字符串, 所以效率很低

适用场景

  • 简单字符串链接

String.concat


public class SringC {

public static void main(String[] args) {

String test = "Hello ";

String test1 = test.concat("World!");

System.out.println(test1);

}

}

结果: Hello World!

优点:

  • 操作简单

缺点:

  • 暂时未发现

适用场景

  • 简单字符串链接

StringBuilder


public class StringB {

public static void main(String[] args) {

StringBuilder builder = new StringBuilder();

builder.append("Hello ");

builder.append("World!");

System.out.println(builder.toString());

}

}

结果: Hello World!

优点:

  • 无需要每次生成String对象,效率高

缺点:

  • 暂时未发现

适用场景

  • 比较大的字符串构建,比如从文本里读取

StringBuffer


public class SringF {

public static void main(String[] args) {

StringBuffer buffer = new StringBuffer();

buffer.append("Hello ");

buffer.append("World!");

System.out.println(buffer.toString());

}

}

结果: Hello World!

优点:

  • 无需要每次生成String对象,效率高(效率低于StringBuilder方式)

缺点:

  • 暂时未发现

适用场景

  • 比较大的字符串构建,比如从文本里读取

  • 支持多线程创建

本作品采用《CC 协议》,转载必须注明作者和本文链接
禁止转载
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!