常見物件-StringBuffer
package cn.itcast_01;
/*
* 執行緒安全(多執行緒講解)
* 安全 -- 同步 --- 資料是安全的
* 不安全 -- 不同步--- 效率高一些
* 安全和效率問題是永遠困擾我們的問題。
* 安全:醫院的網站,銀行網站
* 效率:新聞網站,論壇之類的
*
* StringBuffer:執行緒安全的可變字串。
*
* StringBuffer和String的區別?
* 前者長度和內容可變,後者不可變。
* 如果使用前者做字串的拼接,不會浪費太多的資源。
*
* StringBuffer的構造方法:
* public StringBuffer():無參構造方法
* public StringBuffer(int capacity):指定容量的字串緩衝區物件
* public StringBuffer(String str):指定字串內容的字串緩衝區物件
*
* StringBuffer的方法:
* public int capacity():返回當前容量。 理論值
* public int length():返回長度(字元數)。 實際值
*/
public class StringBufferDemo {
public static void main(String[] args) {
// public StringBuffer():無參構造方法
StringBuffer sb = new StringBuffer(); //一般用第一個
System.out.println("sb:" + sb); //sb:
System.out.println("sb.capacity():" + sb.capacity()); //sb.capacity():16
System.out.println("sb.length():" + sb.length()); //sb.length():0
// public StringBuffer(int capacity):指定容量的字串緩衝區物件
StringBuffer sb2 = new StringBuffer(50);
System.out.println("sb2:" + sb2); //sb2:
System.out.println("sb2.capacity():" + sb2.capacity());//sb2.capacity():50
System.out.println("sb2.length():" + sb2.length()); //sb2.length():0
// public StringBuffer(String str):指定字串內容的字串緩衝區物件
StringBuffer sb3 = new StringBuffer("hello");
System.out.println("sb3:" + sb3); //sb3:hello
System.out.println("sb3.capacity():" + sb3.capacity());//sb3.capacity():21 //即初始容量16+長度5
System.out.println("sb3.length():" + sb3.length()); //sb3.length():5
}
}
StringBuffer的新增功能:
package cn.itcast_02;
/*
* StringBuffer的新增功能:
* public StringBuffer append(String str):可以把任意型別資料新增到字串緩衝區裡面,並返回字串緩衝區本身
*
* public StringBuffer insert(int offset,String str):在指定位置把任意型別的資料插入到字串緩衝區裡面,並返回字串緩衝區本身
*/
public class StringBufferDemo {
public static void main(String[] args) {
// 建立字串緩衝區物件
StringBuffer sb = new StringBuffer();
// public StringBuffer append(String str)
StringBuffer sb2 = sb.append("hello");//返回的是本身,沒有重新開空間
System.out.println("sb:" + sb); //sb:hello
System.out.println("sb2:" + sb2); //sb2:hello
System.out.println(sb == sb2); //true
// 一步一步的新增資料
// sb.append("hello");
// sb.append(true);
// sb.append(12);
// sb.append(34.56);
// 鏈式程式設計
sb.append("hello").append(true).append(12).append(34.56);
System.out.println("sb:" + sb); //sb:hellohellotrue1234.56
// public StringBuffer insert(int offset,Stringstr):在指定位置把任意型別的資料插入到字串緩衝區裡面,並返回字串緩衝區本身
sb.insert(5, "world");
System.out.println("sb:" + sb); //sb:helloworldhellotrue1234.56
}
}
StringBuffer的刪除功能:
package cn.itcast_03;
/*
* StringBuffer的刪除功能
* public StringBuffer deleteCharAt(int index):刪除指定位置的字元,並返回本身
* public StringBuffer delete(int start,int end):刪除從指定位置開始指定位置結束的內容,並返回本身
*/
public class StringBufferDemo {
public static void main(String[] args) {
// 建立物件
StringBuffer sb = new StringBuffer();
// 新增功能
sb.append("hello").append("world").append("java");
System.out.println("sb:" + sb); //sb:helloworldjava
// public StringBuffer deleteCharAt(int index):刪除指定位置的字元,並返回本身
// 需求:我要刪除e這個字元,腫麼辦?
// sb.deleteCharAt(1);
System.out.println("sb:" + sb); //sb:hlloworldjava
// public StringBuffer delete(int start,int end):刪除從指定位置開始指定位置結束的內容,並返回本身
// 需求:我要刪除world這個字串,腫麼辦?
sb.delete(5, 10); //包含左邊不包含右邊,幾乎所有的這種方法都是包左不包右的
System.out.println("sb:" + sb); //sb:hellojava
// 需求:我要刪除所有的資料
sb.delete(0, sb.length());
System.out.println("sb:" + sb); //sb:
}
}
StringBuffer的替換功能:
package cn.itcast_04;
/*
* StringBuffer的替換功能:
* public StringBuffer replace(int start,int end,String str):從start開始到end用str替換
*/
public class StringBufferDemo {
public static void main(String[] args) {
// 建立字串緩衝區物件
StringBuffer sb = new StringBuffer();
// 新增資料
sb.append("hello");
sb.append("world");
sb.append("java");
System.out.println("sb:" + sb); //sb:helloworldjava
// public StringBuffer replace(int start,int end,String str):從start開始到end用str替換
// 需求:我要把world這個資料替換為"節日快樂"
sb.replace(5, 10, "節日快樂");
System.out.println("sb:" + sb); //sb:hello節日快樂java
}
}
StringBuffer的反轉功能:
package cn.itcast_05;
/*
* StringBuffer的反轉功能:
* public StringBuffer reverse()
*/
public class StringBufferDemo {
public static void main(String[] args) {
// 建立字串緩衝區物件
StringBuffer sb = new StringBuffer();
// 新增資料
sb.append("霞青林愛我");
System.out.println("sb:" + sb); //sb:霞青林愛我
// public StringBuffer reverse()
sb.reverse();
System.out.println("sb:" + sb); //sb:我愛林青霞
}
}
StringBuffer的擷取功能:
package cn.itcast_06;
/*
* StringBuffer的擷取功能:注意返回值型別不再是StringBuffer本身了
* public String substring(int start)
* public String substring(int start,int end)
*/
public class StringBufferDemo {
public static void main(String[] args) {
// 建立字串緩衝區物件
StringBuffer sb = new StringBuffer();
// 新增元素
sb.append("hello").append("world").append("java");
System.out.println("sb:" + sb);
// 擷取功能
// public String substring(int start)
String s = sb.substring(5);
System.out.println("s:" + s);
System.out.println("sb:" + sb);
// public String substring(int start,int end)
String ss = sb.substring(5, 10);
System.out.println("ss:" + ss);
System.out.println("sb:" + sb);
}
}
相關文章
- 常見物件-StringBuffer的兩個小面試題物件面試題
- 常見物件-StringBuffer和String的相互轉換物件
- 常見物件-Character物件
- 常見物件-Object類物件Object
- 常見物件-Scanner類物件
- 常見物件-BigInteger物件
- 常見物件-BigDecimal物件Decimal
- 常見物件-String類物件
- 常見物件-Arrays工具類物件
- js常見物件及方法JS物件
- 常見物件-String類-2物件
- 常見物件-字串的遍歷物件字串
- 常見物件-String類-3物件
- 常見物件-String類-4物件
- Java 的常見 API 與物件克隆)JavaAPI物件
- 常見物件-字串反轉的案例物件字串
- 常見物件-字串反轉功能案例物件字串
- 常見物件-基本型別包裝類物件型別
- 常見問題--oracle物件不存在Oracle物件
- ASP.NET常見物件之Request與ResponseASP.NET物件
- 常見物件-模擬使用者登入案例物件
- 常見物件-把int陣列拼接字串的案例物件陣列字串
- 常見物件-判斷一個字串是否對稱案例物件字串
- ASP.NET常見物件之Cookie、Session與ApplicationASP.NET物件CookieSessionAPP
- 老生常談 String、StringBuilder、StringBufferUI
- Java常見知識點彙總(③)——物件導向基礎Java物件
- Java程式設計基礎13——常見物件_String類Java程式設計物件
- 【答疑】物件儲存OSS常見問題解答(工具類1)物件
- 常見暫存器以及常見彙編指令,常見爆破指令 goodGo
- 【答疑】物件儲存OSS常見問題解答(諮詢類2)物件
- 【答疑】物件儲存OSS常見問題解答(諮詢類1)物件
- 常見物件-String類的compareTo()方法的原始碼解析物件原始碼
- 常見物件-把陣列拼接成指定格式的字串案例物件陣列字串
- Flutter 常見異常分析Flutter
- 重要內建函式、常見內建函式(瞭解)、可迭代物件、迭代器物件、for迴圈原理、異常捕獲函式物件
- Python中匯入模組中的物件常見的三種方式!Python物件
- 常見物件-在大串中查詢小串出現的次數案例物件
- JavaScript 建立物件的四種常見模式(附《高程3》下載地址)JavaScript物件模式