java中string类concat方法和+的区别

2024年11月22日 10:07
有2个网友回答
网友(1):

java中string类concat方法和+的区别如下:

concat:将指定字符串连接到此字符串的结尾。如果参数字符串的长度为 0,则返回此 String 对象。否则,创建一个新的 String 对象,用来表示由此 String,对象表示的字符序列和参数字符串表示的字符序列连接而成的字符序列。示例: 

"cares".concat("s") returns "caress"
"to".concat("get").concat("her") returns "together"参数:
str - 连接到此 String 结尾的 String。

返回:

一个字符串,它表示在此对象字符后连接字符串参数字符而成的字符。

+可以把任何类型的数据连接起来

网友(2):

  你好,其实没有什么太大的区别,可以分析concat函数的源码,

    public String concat(String str) {
int otherLen = str.length();
if (otherLen == 0) {
   return this;
}
char buf[] = new char[count + otherLen];
getChars(0, count, buf, 0);
str.getChars(0, otherLen, buf, count);
return new String(0, count + otherLen, buf);
    }

  源码中判断追加字符串是否有长度,关键在最后一句return new String(0, count + otherLen, buf);

  希望可以帮助到你