string s1="abc"; string s2 = new String("abc");
在String中,比較兩個字符串是否相同,不能使用==,應使用equals()方法。java
1.「==」方法:比較的是變量(棧)內存中存放的對象的(堆)內存地址,用來判斷兩個對象的地址是否相同app
String str1 = "zjd";//直接賦值 String str2 = new String ("zjd");//經過new賦值 String str3 = str2; System.out.println("str1 == str2-->"+(str1 == str2)); System.out.println("str1 == str3-->"+(str1 == str3)); System.out.println("str2 == str3-->"+(str2 == str3));
緣由:spa
2.「equals()"方法:比較的是兩個對象的內容是否相等code
String str1 = "zjd";//直接賦值 String str2 = new String ("zjd");//經過new賦值 String str3 = str2; System.out.println("str1 equals str2-->"+(str1.equals(str2))); System.out.println("str1 equals str3-->"+(str1.equals(str3))); System.out.println("str2 equals str3-->"+(str2.equals(str3)));
緣由:由於equals()方法的做用是將內容進行比較,因此此處返回的結果都爲true。對象
一個字符串就是一個String 類中的匿名對象,匿名對象就是已經開闢了堆內存空間能夠直接使用的對象。blog
1.直接賦值內存
String str1 = "zjd";//直接賦值 String str2 = "zjd"; String str3 = "zjd"; System.out.println("str1 == str2-->"+(str1 == str2)); System.out.println("str1 == str3-->"+(str1 == str3)); System.out.println("str2 == str3-->"+(str2 == str3);
緣由:實際上就是把一個在堆內存中開闢好的空間使用權給str1,而且若是一個字符串已經被一個名稱所引用,則之後再有相同的名稱的字符串聲明時,就不會從新開闢新地址了
ci
2.經過new的方式實例化字符串
String str1 = new String("zjd");
String str1 = "zjd"; str1 =str1+"zka"; System.out.println(str1); 結果:zjdzka
1.長度能夠變化
2.經過tostring()方法變爲stringstring
1.聲明
StringBuffer s = new StringBuffer(); StringBuffer s = new StringBuffer(「abc」); String s1 = sb1.toString();
2.Create
StringBuffer sb = new StringBuffer(「abc」); sb.append(true); 結果:abctrue
3.Update
StringBuffer sb = new StringBuffer(「TestString」); sb.insert(4,false); 結果:TestfalseString StringBuffer sb = new StringBuffer("helloworldjava"); sb.replace(5, 10, "節日快樂"); 結果:hello節日快樂java StringBuffer sb = new StringBuffer(「abc」); sb.setCharAt(1,’D’); 結果:aDc
4.Delete
StringBuffer sb = new StringBuffer(「Test」); sb. deleteCharAt(1); 結果:Tst StringBuffer sb = new StringBuffer(「TestString」); sb. delete (1,4); 結果:TString
5.反轉
StringBuffer sb = new StringBuffer(「abc」); sb.reverse(); 結果:」cba」。
6.獲取(capacity=length+16)
StringBuffer sb = new StringBuffer("Hello"); System.out.println("length = "+sb.length); System.out.println("capacity = "+sb.capacity); 結果:5 21 StringBuffer sb = new StringBuffer("Java is a programming language : "); sb.charAt(2) 結果:v StringBuffer sb = new StringBuffer("Hello"); System.out.println(sb.indexOf(2)); System.out.println(); StringBuffer sb = new StringBuffer("sdbajd"); String s = sb.substring(5); System.out.println("s:"+s); String ss = sb.substring(3,4); String ss = sb.substring(3,5); System.out.println("ss:"+ss); 結果:d a aj