String类的concat函数和“+”运算的区别

concat函数

String str1="s";
String str2="d";
str1.concat(str2);
意思是将str2连接到str1的尾部 ,结果为sd,此时为新创建的字符串对象; 当str2=""时,即str2的字符长度为0时,返回对象本身,而不会新创建对象。

“+”运算符可连接任何类型的的数据。


测试:
1、当连接字符串为空字符串("")时
String str1="qw";
		String str2="qw";
		System.out.println(str1==str2);
		String str3=str2+"";
		String str4=str1.concat("");
		//String str5=str2+"1";
		System.out.println((str3==str2)+","+(str4==str1)+","+(str1==str2)+","+(str4==str3));


结果如下:

true
false,true,true,false

2、当连接字符串不为空字符串时
String str1="qw";
		String str2="qw";
		System.out.println(str1==str2);
		String str3=str2+"1";
		String str4=str1.concat("1");
		String str5=str2+"1";
		System.out.println((str3==str2)+","+(str4==str1)+","+(str1==str2)+","+(str4==str3)+","+(str3==str5));


结果如下:

true
false,false,true,false,false

猜你喜欢

转载自920198034.iteye.com/blog/2353666