java中concat()-'+'-append()三者区别

三者区别,记录一下。

https://blog.csdn.net/weixin_42950079/article/details/83515713

区别

concat()方法:String类的concat()方法(只能用于拼接字符串,不能拼接其他类型的数据)将指定的字符串拼接到该字符串的末尾。并且字符串本身和拼接的字符串都不能为null,否则运行程序后会报空指针异常NullPointerException(编译时没有报错)。

“+”:可以对字符,数字,字符串等数据类型的拼接

append()方法:可以对字符,数字,字符串等数据类型的拼接,结果返回一个StringBuffer类型的对象

实例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
import java.util.ArrayList;
import java.util.List;

public class 练习题29 {

public static void main(String[] args) {
List<Object> list=new ArrayList<Object>();
list.add(100);
list.add('日');
list.add("冲刺,决胜高考!");

StringBuffer sb=new StringBuffer();
for(char i=0;i<list.size();i++){
sb.append(list.get(i));
}
System.err.println(sb);

String s1="";
for(char i=0;i<list.size();i++){
s1=s1+list.get(i);
}
System.err.println(s1);

String s2="";
for(char i=0;i<list.size();i++){
s2=s2.concat( list.get(i).toString());
}
System.err.println(s2);


String str1="";
System.err.println(str1.concat(null)); //运行后报空指针异常NullPointerException
String str2=null;
System.err.println(str2.concat("asdf"));//运行后报空指针异常NullPointerException
}

}

输出结果:
100日冲刺,决胜高考!
100日冲刺,决胜高考!
100日冲刺,决胜高考!
Exception in thread "main" java.lang.NullPointerException

:转载文章请注明出处,谢谢~