参考答案
字符串拼接+和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—