---
# System prepended metadata

title: Java - StringBuilder & StringJoiner
tags: [Java, Basic Java]

---

# Java - StringBuilder & StringJoiner
###### tags: `Java` `Basic Java`

## 先來說結論
以後若要進行字串的串接，建議使用StringBuilder或StringJoiner，而非用+

## 1. StringBuilder:
StringBuilder的優點：
1. 可視為一個string的容器，創建之後裡面的string是**可變動**的
2. 只產生一個物件，而不像單純使用字串時產生多個物件，進而節省記憶體，提高操作字串的效率

### Constructor
1. public StringBuilder()
2. public StringBuilder(String str)

### Method
1. append(any type)
2. reverse()
3. length() : return int
4. toString() : 將StringBuilder轉成String

## 2. StringJoiner
Stringjoiner的優點：
1. 也是一個容器，也是讓string可變
2. 提高效率的同時也讓code更精簡，但目前比較少被使用

### Constructor
1. public StringJoiner(間隔符號)
2. public StringJoiner(間隔符號, 開始符號, 結束符號)

### Method
1. add()
2. length() : 間隔符號、開始符號、結束符號也會被算入長度中
4. toString