java stringbuffer倒置_Java程序设计05——String和StringBuffer
String和StringBuffer
String和Stringbuffer類1.String的聲明string s1="abc";
string s2 = new String("abc");2.String內容的比較
在String中,比較兩個字符串是否相同,不能使用==,應使用equals()方法。
1.“==”方法:比較的是變量(棧)內存中存放的對象的(堆)內存地址,用來判斷兩個對象的地址是否相同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));
原因:每一個String對象的內存存儲其實都是在堆內存中。
"=="是進行數值比較的,因為str1和str2的在堆內存的地址不一樣所以:str1和str2不相等–>false
2.“equals()"方法:比較的是兩個對象的內容是否相等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。3.兩種實例化對象的區別
一個字符串就是一個String 類中的匿名對象,匿名對象就是已經開辟了堆內存空間可以直接使用的對象。
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,并且如果一個字符串已經被一個名稱所引用,則以后再有相同的名稱的字符串聲明時,就不會重新開辟新地址了
2.通過new的方式實例化String str1 = new String("zjd");
4.一旦被初始化,字符串內容便不可以被改變String str1 = "zjd";
str1 =str1+"zka";
System.out.println(str1);
結果:zjdzka
二.Stringbuffer1.特點
1.長度可以變化
2.通過tostring()方法變為string2.聲明以及CURD
1.聲明StringBuffer s = new StringBuffer();
StringBuffer s = new StringBuffer(“abc”);
String s1 = sb1.toString();
2.CreateStringBuffer sb = new StringBuffer(“abc”);
sb.append(true);
結果:abctrue
3.UpdateStringBuffer 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.DeleteStringBuffer 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
總結
以上是生活随笔為你收集整理的java stringbuffer倒置_Java程序设计05——String和StringBuffer的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: emq数据储存到mysql_EMQ X
- 下一篇: java textfield事件_[求助