標籤:使用 string 類 一個 c new
String中==與equals的區別:
==比較字串中的引用相等
equals比較字串中的內容相等(因為字串有重寫equals方法)
例子:
/************ String中的equals與== *****************/
/*
* ==比較字串中的引用相等
* equals比較字串中的內容相等(因為字串有重寫equals方法)
*/
// public static void main(String[] args) {
// String s1 = new String("abc");
// String s2 = new String("abc");
// System.out.println(s1.equals(s2));// true
// System.out.println(s1 == s2);// false
//
// String s3 = new String("aaaa");
// String s4 = s3;// s3把引用賦值給s4
// System.out.println(s3.equals(s4));// true
// System.out.println(s3 == s4);// true
// }
String與StringBuffer的不同點: 1、String類是不可改變的,而StringBuffer類是可變的 可修改的
2、String類覆蓋了Object的equals方法,而StringBuffer沒有
3、String類可以使用”+”進行串連, 而StringBuffer對象之間不能通過”+”進行串連使用append方法進行串連
例子
/**************StringBuffer的使用*****************/
// public static void main(String[] args) {
// //String不可以修改字串
// String str = "abc";//建立一個字串對象
// str = "aaa";//建立一個新的字串
// str = str+"www";//還是建立了一個新的字串
//
// //StringBuffer可修改字串
// StringBuffer buffer = new StringBuffer();
// System.out.println("大小:"+buffer.length());
// System.out.println("容量:"+buffer.capacity());
// buffer.append("abc");//追加字串
// System.out.println("大小:"+buffer.length());
// System.out.println("容量:"+buffer.capacity());
// buffer.append("ddd");
// System.out.println("容量:"+buffer.capacity());
// buffer.append("wwwwwwwwwwwwwww");
// System.out.println("容量:"+buffer.capacity());
//
// StringBuffer strBuffer1 = new StringBuffer("www");
// StringBuffer strBuffer2 = new StringBuffer("www");
// //StringBuffer沒有重寫equals方法所以比較的是引用是否相等
// System.out.println(strBuffer1.equals(strBuffer2));
// }
StringBuilder類與StringBuffer類:
StringBuilder也是一個操作字串的類,它與StringBuffer的功能是一樣的,
主要區別在於,StringBuilder是非安全執行緒的,StringBuffer是
安全執行緒的,所以StringBuilder效率要高,在使用過程中,要根據具體的
情況考慮,如果環境對安全執行緒沒要求,就可以使用StringBuilder