κΈΈμ΄
- String : κ³ μ λ κΈΈμ΄,
λΆλ³
β κ°μ²΄ λ³κ²½ μ μ€μ λ‘ λ³κ²½λλ κ² μλλΌ μλ‘μ΄ Stringκ°μ²΄κ° μμ±λ¨
- StringBuffer : κΈΈμ΄ λ³κ²½ κ°λ₯βοΈ
- StringBuilder : κΈΈμ΄ λ³κ²½ κ°λ₯βοΈ
λ©ν°μ€λ λ νκ²½ - thread-safe
- Thread-safe
: λ©ν°μ€λ λ νκ²½μμ μ΄λ€ λ©μλλ λ³μ, κ°μ²΄μ λμμ κ·Όν΄λ λ¬Έμ κ° μλ κ², νλμ ν¨μμ μ€λ λκ° λμμ νΈμΆνλλΌλ μ€ν κ²°κ³Όκ° λ°λ₯΄κ² λμ€λ κ²
- StringBuffer : thread-safe βοΈ, λμμ ν΄λΉ λ¬Έμμ΄μ μ κ·Όν λ μ μ©
- StringBuilder : μ μν©μ΄ μλ λλ Builderλ₯Ό μ¬μ©νλ κ² μ±λ₯ μ μ 리
β» μ±λ₯ β thread-safe (λ°λΉλ‘)
μ 리
String
: λ¬Έμμ΄ λ³κ²½μ΄ λΉλ²νμ§ μμ λ μ¬μ©
StringBuffer
: λ¬Έμμ΄μ΄ λΉλ²νκ² λ³κ²½λλ©΄μ, λ©ν°μ€λ λ νκ²½μΌ λ μ¬μ©
StringBuilder
: λ¬Έμμ΄μ΄ λΉλ²νκ² λ³κ²½λλ©΄μ, λ©ν°μ€λ λ νκ²½μ΄ μλ λ μ¬μ©
StringBuffer / StringBuilder μμ±
- κΈ°λ³Έ μμ±μ
StringBuffer sb1 = new StringBuffer();
StringBuilder sb2 = new StringBuilder();
- int sizeκ°μ μΈμλ‘ νλ μμ±μ : intκ°μΌλ‘ buffer size(capacity) μ§μ
StringBuffer sb1 = new StringBuffer(10);
StringBuilder sb2 = new StringBuilder(10);
- String λ¬Έμμ΄μ μΈμλ‘ νλ μμ±μ
StringBuffer sb1 = new StringBuffer("hello");
StringBuilder sb2 = new StringBuilder("hello");
StringBuffer / StringBuilder λ©μλ
- append() : λ¬Έμμ΄ μΆκ° (λ¬Έμ 맨 λ€ μ½μ
)
- length() : λ¬Έμμ΄ κΈΈμ΄ λ°ν
- capacity() : ν λΉλ capacity λ°ν
- insert() : μΈμλ‘ μμ μΈλ±μ€μ μ½μ
ν λ¬Έμμ΄μ λ°μ μνλ μμΉμ λ¬Έμμ΄ μ½μ
- reverse() : λ¬Έμμ΄μ λ€μ§μ λ μ¬μ©
- delete() : μΈμλ‘ μμμΈλ±μ€μ μ’
λ£μΈλ±μ€λ₯Ό λ°μ μμμΈλ±μ€λΆν° (μ’
λ£μΈλ±μ€-1)κΉμ§ λ¬Έμ μμ
- deleteCharAt() : nλ² μ§Έ μΈλ±μ€ ν λ¬Έμλ§ μμ
- replace() : μΈμλ‘ μμμΈλ±μ€, μ’
λ£μΈλ±μ€, λ¬Έμμ΄μ λ°μ μμμΈλ±μ€λΆν° (μ’
λ£μΈλ±μ€-1)κΉμ§ κΈ°μ‘΄ λ¬Έμμ΄μ μΈμλ‘ λ°μ λ¬Έμμ΄λ‘ μΉν