Table of Contents
ToggleJava StringBuilder Methods
由於 Java 中的 String 類別建立了一個不可變的字串序列,因此 StringBuilder 類別提供了 String 類別的替代方案,用於建立可修改字串,是一個非同步的操作, StringBuilder Java Methods 本篇增加了範例,並透過單元測試來驗證產出結果。
檔案目錄
./
+- src
+- test
| +- org
| +- ruoxue
| +- java_147
| +- string
| +- stringbuilder
| +- StringBuilderMethodsTest.java
單元測試
提供新增、插入、刪除等操作 String 。
append
建立一個 StringBuilder ,增加字串、字元、數字等。
@Test
public void append() {
int expectedSize = 25;
StringBuilder builder = new StringBuilder();
builder.append("Jav");
builder.append('a');
builder.append(" ");
builder.append(147);
builder.append(", ");
builder.append(new StringBuilder().append("Spring boot 168"));
System.out.println(builder);
assertEquals(expectedSize, builder.length());
}
Java 147, Spring boot 168
insert
建立一個 StringBuilder ,增加字串後,插入字串。
@Test
public void insert() {
int expectedSize = 23;
StringBuilder builder = new StringBuilder();
builder.append("Java 147");
builder.insert(5, "Spring boot 168");
System.out.println(builder);
assertEquals(expectedSize, builder.length());
}
Java Spring boot 168147
delete
StringBuilder Methods Java 建立一個 StringBuilder ,增加字串後,刪除指定索引區間的字串。
@Test
public void delete() {
int expectedSize = 3;
StringBuilder builder = new StringBuilder("Java 147");
builder.delete(0, 5);
System.out.println(builder);
assertEquals(expectedSize, builder.length());
}
147
deleteCharAt
StringBuilder Methods in Java 建立一個 StringBuilder ,增加字串後,刪除指定索引的單一字串。
@Test
public void deleteCharAt() {
int expectedSize = 7;
StringBuilder builder = new StringBuilder("Java 147");
builder.deleteCharAt(5);
System.out.println(builder);
assertEquals(expectedSize, builder.length());
}
Java 47
length
StringBuilder Methods in Java 建立一個 StringBuilder ,增加字串,取得長度。
@Test
public void length() {
int expectedSize = 36;
StringBuilder builder = new StringBuilder();
builder.append("Java 147, ");
builder.append("Spring boot 168, ");
builder.append("JUnit 151");
System.out.println(builder.length());
assertEquals(expectedSize, builder.length());
}
36
capacity
StringBuilder Methods in Java 建立一個 StringBuilder ,增加字串,取得容量。
@Test
public void capacity() {
int expectedSize = 70;
StringBuilder builder = new StringBuilder();
builder.append("Java 147, ");
builder.append("Spring boot 168, ");
builder.append("JUnit 151");
System.out.println(builder.capacity());
assertEquals(expectedSize, builder.capacity());
}
70
trimToSize
StringBuilder Methods in Java 建立一個 StringBuilder ,增加字串,移除空位置,取得容量。
@Test
public void trimToSize() {
int expectedSize = 36;
StringBuilder builder = new StringBuilder();
builder.append("Java 147, ");
builder.append("Spring boot 168, ");
builder.append("JUnit 151");
System.out.println(builder.capacity());
builder.trimToSize();
System.out.println(builder.capacity());
assertEquals(expectedSize, builder.capacity());
}
70
36
StringBuilderMethodsTest.java
StringBuilder Methods in Java 新增單元測試,驗證是否符合預期。
package org.ruoxue.java_147.string.stringbuilder;
import static org.junit.Assert.*;
import org.junit.Test;
public class StringBuilderMethodsTest {
@Test
public void append() {
int expectedSize = 25;
StringBuilder builder = new StringBuilder();
builder.append("Jav");
builder.append('a');
builder.append(" ");
builder.append(147);
builder.append(", ");
builder.append(new StringBuilder().append("Spring boot 168"));
System.out.println(builder);
assertEquals(expectedSize, builder.length());
}
@Test
public void insert() {
int expectedSize = 23;
StringBuilder builder = new StringBuilder();
builder.append("Java 147");
builder.insert(5, "Spring boot 168");
System.out.println(builder);
assertEquals(expectedSize, builder.length());
}
@Test
public void delete() {
int expectedSize = 3;
StringBuilder builder = new StringBuilder("Java 147");
builder.delete(0, 5);
System.out.println(builder);
assertEquals(expectedSize, builder.length());
}
@Test
public void deleteCharAt() {
int expectedSize = 7;
StringBuilder builder = new StringBuilder("Java 147");
builder.deleteCharAt(5);
System.out.println(builder);
assertEquals(expectedSize, builder.length());
}
@Test
public void length() {
int expectedSize = 36;
StringBuilder builder = new StringBuilder();
builder.append("Java 147, ");
builder.append("Spring boot 168, ");
builder.append("JUnit 151");
System.out.println(builder.length());
assertEquals(expectedSize, builder.length());
}
@Test
public void capacity() {
int expectedSize = 70;
StringBuilder builder = new StringBuilder();
builder.append("Java 147, ");
builder.append("Spring boot 168, ");
builder.append("JUnit 151");
System.out.println(builder.capacity());
assertEquals(expectedSize, builder.capacity());
}
@Test
public void trimToSize() {
int expectedSize = 36;
StringBuilder builder = new StringBuilder();
builder.append("Java 147, ");
builder.append("Spring boot 168, ");
builder.append("JUnit 151");
System.out.println(builder.capacity());
builder.trimToSize();
System.out.println(builder.capacity());
assertEquals(expectedSize, builder.capacity());
}
}
心得分享
StringBuilder Functions in Java 提供了 String 類別的替代方案,用於建立可修改字串,熟悉 StringBuilder Methods in Java 這些方法的操作,提升開發效率,在應用上相當廣泛。