StringBuffer和StringBuilder的区别:
StringBuffer是jdk1.0版本出现的,线程安全,同时效率也变低了;
StringBuilder是jdk5.0版本出现的,线程不安全,效率更高,开发中一般用StringBuilder。
String和StringBuffer、StringBuilder的区别:
String是不可变的字符序列;
StringBuffer和StringBuilder是可变的字符序列;
一般,很多字符串要拼接在一起时,比如:
String str = "qwe";
str += "hello";
str += "java";
这个时候建议使用StringBuilder:
StringBuilder sb = new StringBuilder();
sb.append("qwe").append("hello").append("java");
String str = sb.toString();
因为在字符串直接用"+"号连接时,底层也是用的StringBuffer或StringBuilder,并且没执行一次+连接操作,就会创建一个对象,并调用toString方法返回,较为浪费资源。
|
|