网站建设的业务规划,镇江网站网站建设,苏州建能建设科技有限公司,wordpress 文章如何设置缩略图相同点#xff1a; String 和 StringBuffer#xff0c;它们可以储存和操作字符串#xff0c; 即包含多个字符的字符数据。 String 和 StringBuffer 的区别有以下几点#xff1a; 1.String 类提供了数值不可改变的字符串。而 StringBuffer 类提供的字符串进行修改。 当你知…相同点 String 和 StringBuffer它们可以储存和操作字符串 即包含多个字符的字符数据。 String 和 StringBuffer 的区别有以下几点 1.String 类提供了数值不可改变的字符串。而 StringBuffer 类提供的字符串进行修改。 当你知道字符数据要改变的时候你就可以 使用 StringBuffer 。典型地你可以使用 StringBuffers 来动态构造字符数据。 2.String 实现了 equals 方法 new String(“abc”).equals(new String(“abc”) 的结果为 true, StringBuffer 没有实现 equals 方法 new StringBuffer(“abc”).equals(new StringBuffer(“abc”)的结果为 false 。 3.我们要把 1 到 10000 的所有数字拼起来组成 一个串。 import java.util.Date;
public class Test01 {public static void main(String[] args) {//StringBuffer 把 1 到 10000 的所有数字拼起来组成一个字符串StringBuffer stringBuffer new StringBuffer();long start new Date().getTime();for(int i0;i10000;i){stringBuffer.append(i);}long end new Date().getTime();System.out.println(end-start);//String 把 1 到 10000 的所有数字拼起来组成一个字符串String string new String();long start1 new Date().getTime();for(int i0;i10000;i){string string i;}long end1 new Date().getTime();System.out.println(end1-start1);}
}上面的代码效率很高因为只创建了一个 StringBuffer 对象而下面的代码 效率很低因为创建了 10001 个对象。 4. StringBuilder 与 StringBuffer相比后者是线程安全的前者是线程不安全所以在使用时对少量数据进行操作时选择String对大量数据进行操作时多线程使用StringBuffer单线程使用StringBuilder。 5.Sring 覆盖了 equals 方法和 hashCode 方法而 StringBuffer 没有覆盖 equals 方法和 hashCode 方法所以将 StringBuffer 对象存储进 Java 集合类中时会出 现问题。