String,StringBuilder,StringBuffer
阿新 • • 發佈:2022-03-27
String
String 不是基本資料型別,Java中的所有字串(例如"abc" )都被實現為此類的例項。
String物件是不可變的。
public boolean equals(Object anObject)
public char charAt(int index)
public int length()
public
String s = "hello"; // 在常量池中 建立了 “hello” s += "world"; // 在常量池中 建立了 “world” ,“helloworld” System.out.println(s); // 此時 s 指向 “helloworld” ,“hello” 和 “world” 都被浪費掉了。
對字串進行拼接操作,每次拼接,都會建立新的String物件(字串在java中都被認為是String物件),既耗時,又浪費空間。
StringBuilder
可變字串,可以看成一個容器,可變指的是StringBuilder物件中的內容是可變的,在做拼接時,不會建立新的物件。
public StringBuilder(); // 建立一個空白可變字串物件
public StringBuilder(String str);
String str = "ceshi"; StringBuilder sa = new StringBuilder(str); // append()新增資料,返回物件本身 sa.append("hello").append("world").append("java").append(100); System.out.println(sa); // public StringBuilder reverse(); 返回相反的字元序列 sa.reverse(); System.out.println(sa);
StringBuilder 和 String 相互轉換
// StringBuilder 轉為 String
StringBuilder sb = new StringBuilder();
sb.append("[");
String s = sb.toString();
// String 轉為 StringBuilder
StringBuilder s = new StringBuilder(String s)