Java StringBuilder Methods - Java 147

Java StringBuilder Methods – Java 147

Java 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 這些方法的操作,提升開發效率,在應用上相當廣泛。

發佈留言