JAVA中StringBuffer類常用方法詳解
String是不變類,用String修改字串會新建一個String物件,如果頻繁的修改,將會產生很多的String物件,開銷很大.因此java提供了一個StringBuffer類,這個類在修改字串方面的效率比String高了很多。
在java中有3個類來負責字元的操作。
1.Character 是進行單個字元操作的,
2.String 對一串字元進行操作。不可變類。
3.StringBuffer 也是對一串字元進行操作,但是可變類。
[java] view plain copy
- public class UsingStringBuffer {
- /**
- * 查詢匹配字串
- */
- public static void testFindStr() {
- StringBuffer sb = new StringBuffer();
- sb.append("This is a StringBuffer");
- // 返回子字串在字串中最先出現的位置,如果不存在,返回負數
- System.out.println("sb.indexOf(\"is\")=" + sb.indexOf("is"));
- // 給indexOf方法設定引數,指定匹配的起始位置
- System.out.println("sb.indexOf(\"is\")=" + sb.indexOf("is", 3));
- // 返回子字串在字串中最後出現的位置,如果不存在,返回負數
- System.out.println("sb.lastIndexOf(\"is\") = " + sb.lastIndexOf("is"));
- // 給lastIndexOf方法設定引數,指定匹配的結束位置
- System.out.println("sb.lastIndexOf(\"is\", 1) = "
- + sb.lastIndexOf("is", 1));
- }
- /**
- * 擷取字串
- */
- public static void testSubStr() {
- StringBuffer sb = new StringBuffer();
- sb.append("This is a StringBuffer");
- // 預設的終止位置為字串的末尾
- System.out.print("sb.substring(4)=" + sb.substring(4));
- // substring方法擷取字串,可以指定擷取的起始位置和終止位置
- System.out.print("sb.substring(4,9)=" + sb.substring(4, 9));
- }
- /**
- * 獲取字串中某個位置的字元
- */
- public static void testCharAtStr() {
- StringBuffer sb = new StringBuffer("This is a StringBuffer");
- System.out.println(sb.charAt(sb.length() - 1));
- }
- /**
- * 新增各種型別的資料到字串的尾部
- */
- public static void testAppend() {
- StringBuffer sb = new StringBuffer("This is a StringBuffer!");
- sb.append(1.23f);
- System.out.println(sb.toString());
- }
- /**
- * 刪除字串中的資料
- */
- public static void testDelete() {
- StringBuffer sb = new StringBuffer("This is a StringBuffer!");
- sb.delete(0, 5);
- sb.deleteCharAt(sb.length() - 1);
- System.out.println(sb.toString());
- }
- /**
- * 向字串中插入各種型別的資料
- */
- public static void testInsert() {
- StringBuffer sb = new StringBuffer("This is a StringBuffer!");
- // 能夠在指定位置插入字元、字元陣列、字串以及各種數字和布林值
- sb.insert(2, 'W');
- sb.insert(3, new char[] { 'A', 'B', 'C' });
- sb.insert(8, "abc");
- sb.insert(2, 3);
- sb.insert(3, 2.3f);
- sb.insert(6, 3.75d);
- sb.insert(5, 9843L);
- sb.insert(2, true);
- System.out.println("testInsert: " + sb.toString());
- }
- /**
- * 替換字串中的某些字元
- */
- public static void testReplace() {
- StringBuffer sb = new StringBuffer("This is a StringBuffer!");
- // 將字串中某段字元替換成另一個字串
- sb.replace(10, sb.length(), "Integer");
- System.out.println("testReplace: " + sb.toString());
- }
- /**
- * 將字串倒序
- */
- public static void reverseStr() {
- StringBuffer sb = new StringBuffer("This is a StringBuffer!");
- System.out.println(sb.reverse()); // reverse方法將字串倒序
- }
- }
StringBuffer不是不變類,在修改字串內容時,不會建立新的物件,因此,它比String類更適合修改字串。
StringBuffer類沒有提供同String一樣的toCharArray方法
StringBuffer類的replace方法同String類的replace方法不同,它的replace方法有三個引數,第一個引數指定被替換子串的起始位置,第二個引數指定被替換子串的終止位置,第三個引數指定新子串
相關文章
- Java中StringBuffer類的常用方法Java
- Java中Object類的常用方法JavaObject
- Java中Scanner類的常用方法Java
- Java中String類的常用方法Java
- Java StringBuffer 和 StringBuilder 類JavaUI
- Day33:String類及其常用方法詳解
- 自己動手實現Java中的StringBuffer類Java
- 【Java集合】單列集合Collection常用方法詳解Java
- Java中的類與物件詳解Java物件
- Java中的方法引用詳解Java
- java中String類常用方法的使用與例項Java
- Java中的介面與抽象類詳解Java抽象
- 常用的Java類方法【轉載】Java
- java方法詳解Java
- StringBuffer類的delete()方法和deleteCharAt()方法的區別delete
- Java中的靜態內部類詳解Java
- Java之Thread類的常用方法 .sleep()Javathread
- Java常用工具類方法整理Java
- Java 內部類詳解Java
- Java內部類詳解Java
- StringBuffer 和 StringBuilder 類UI
- [轉載] 整理下java中stringBuilder和stringBuffer兩個類的區別JavaUI
- Java常用類Java
- Java 常用類Java
- Java 內部類使用詳解Java
- Java類載入器詳解Java
- JAVA常用類--Cleaner類Java
- JAVA常用類--Runtime類Java
- Java常用類-Object類JavaObject
- java刷題時常用容器詳解Java
- JAVA中object類中toString()方法JavaObject
- 05.Java 方法詳解Java
- Java內部類詳解--匿名內部類Java
- Selenium用法詳解 -- Selenium3 常用方法
- Java基礎-內部類詳解Java
- java中CopyOnWriteArrayList詳解Java
- Java類方法(定義一個工具類,儲存一些常用的方法)Java
- Java內部類詳解-- 成員內部類Java
- Java中String,StringBuffer,StringBuilder基礎知識JavaUI