String表示的字符串,一旦存在就是常量。不能被修改。只要被修改原字符串不會消失依然存在,這里就會出現新的字符串。那么就會造成很多垃圾。
StringBuffer:是一個容器,主要是用來處理字符串數據的。他可以存放任意數據,最后把數據變成一段字符串。
它的一些功能:
追加數據的功能:
append();api中介紹了一些這個方法的重載它可以增添布爾類型的,數組類型的等等。
insert(index value)在指定位置內添加數據,但指定的位置不能為空。
刪除數據的功能:
delete(int start ,int end);可以刪除一段代碼。delete(int index);也可以刪除字符串中的某一個數據。
獲取數據的功能:
capacity()獲取當前StringBuffer的容量。
indexof(str)獲取給定字符串在此字符串中的索引。
toString()把容器中的數據全部變成字符串。
設置與修改數據的功能:
revers()將數據反轉。
setcharAt()將給定位置的數據進行修改。
public class StringDemo {
public static void main(String[] args) {
StringBuffer sb=new StringBuffer();
sb.append(true);
sb.append('a');
sb.insert(2,"bbb");
sb.delete(2,3);
System.out.println(sb);
}
}
將數據反轉的代碼體現:
import java.util.Arrays;
public class StringDemo {
public static void main(String[] args) {
char[] a={'a','b','c'};
String s=new String(a);
StringBuffer sb=new StringBuffer(s);
sb.reverse();
String b=sb.toString();
char[] c=b.toCharArray();
System.out.println(Arrays.toString(c));
}
}
面向對象的好處淋漓盡致的展現出來,不需要寫繁瑣的代碼,直接調用。