String,StringBuffer

时间:2021-10-24 03:15:07

String类代表不可变的字符序列。

  String s1 = "hello";

  String s2 = "hello";

  s1 == s2  ==> true

  "hello"是字符串常量,存在data seg中,编译器对data seg有优化,对于已经有的数据,不是重新分配空间,而是指向同一个。

  String s1 = new String("hello");

  String s2 = new String("hello");

  s1 == s2 ==> false : 指向的不是同一个对象(new)

  s1.equals(s2) ==> true : String类重写了equals方法

  String类常用方法:charAt(),length(),indexOf(),equalsIgnoreCase(),replace(),substring(),toLowerCase(),trim(),startWiths(),split()。

  public static String valueOf(基本数据类型/对象类型): 将基本数据类型/对象类型转换为字符串。

StringBuffer类代表可变得字符序列。

  String s1 = "hello";

  String s2 = "world";

  s1 += s2 是指向另一个内存,内存内copy了s1和s2。

  StringBuffer s1 = "hello";

  StringBuffer s2 = "hello";

  s1 += s2  是直接在s1后添加,更快。

  StringBuffer类常用方法:append()