参考答案
字符串拼接+和concat的区别:
- +可以是字符串或者数字及其他基本类型数据,而concat只能接收字符串;
- +左右可以为null,concat为会空指针;
- 拼接空字符串,concat略快一些,两者在速度方面可忽略不计);
- 如果拼接更多字符串,建议使用StringBuilder。从字节码来看,+号编译后就是使用了StringBuiler来拼接,所以一行+++的语句,就会创建一个StringBuilder,多条+++语句,就会创建多个,这是建议使用StringBuilder的主要原因。
实例:
public class Demo10String { public static void main(String[] args) { //拼接字符串相同点 String str1="Hello"; String str2="World"; String str3=str1.concat(str2); String str4=str1+str2; System.out.println(str3); //输出:HelloWorld System.out.println(str4); //输出:HelloWorld //不同点 String str="Hello" + 5; //输出:Hello5 System.out.println(str); }
如果需要进行两个字符串连接,优先考虑用concat()函数。
如果需要连接字符串和其他非字符串类型的变量,cancat无法满足需求,优先考虑使用“+”连接运算符。
以上,是Java面试题【字符串拼接+和concat的区别】的参考答案。
输出,是最好的学习方法。
欢迎在评论区留下你的问题、笔记或知识点补充~
—end—