字符串拼接+和concat的区别

参考答案

字符串拼接+和concat的区别:

  1. +可以是字符串或者数字及其他基本类型数据,而concat只能接收字符串;
  2. +左右可以为null,concat为会空指针;
  3. 拼接空字符串,concat略快一些,两者在速度方面可忽略不计);
  4. 如果拼接更多字符串,建议使用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—

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧