StringBuffer
๊ฐ์
String์ ๋ด๋ถ ๊ฐ์ ๋ณ๊ฒฝํ ์ ์๋ค.
์๋ ์ฝ๋์์ immutable ๊ฐ์ฒด๋ฅผ ์์ ํ ๊ฒ์ฒ๋ผ ๋ณด์ด์ง๋ง, โabcdefโ๋ผ๋ ์ ๊ฐ์ฒด๋ฅผ ์์ฑํ ๊ฒ์ด๋ค.
String immutable = "abc";
immutable = immutable + "def";
๋ด๋ถ๊ฐ์ด ๋ณ๊ฒฝ ๊ฐ๋ฅํ ๋ฌธ์์ด์ ๋ง๋๋ ค๋ฉด StringBuilder ๋๋ StringBuffer์ ์ฌ์ฉํด์ผ ํ๋ค.
StringBuffer sb = new StringBuffer("abc");
sb.append("def");
StringBuffer์ append ํจ์๋ฅผ ํตํด ๋ด๋ถ ๊ฐ์ ๋ณ๊ฒฝํ๊ณ ์๋ค.
String๊ณผ String Buffer, String Builder๋ก ๋ฌธ์์ด์ ์์ ํ ๋ ์ด๋ค ์ฐจ์ด์ ์๋์ง ์์๋ณด์.
String vs String Buffer vs String Builder
String ๊ฐ์ฒด๋ ๋ด๋ถ๊ฐ์ด ๋ณํ์ง ์๊ธฐ ๋๋ฌธ์, ๋ฌธ์์ด์ ์์ ํ ๋๋ง๋ค ์๋ก์ด ๊ฐ์ฒด๋ฅผ ์์ฑํ๋ค.
๋ฐ๋ผ์ ๋ฌธ์์ด ๊ฐ๋ง ๋ณ๊ฒฝํ๋ String Builder๋ String Buffer์ ๋นํด ์๋์ ์ผ๋ก ์ฑ๋ฅ์ด ๋จ์ด์ง๋ค.
ํ์ง๋ง ๋ถ๋ณ์ฑ ๋๋ถ์ ์ฌ๋ฌ ์ค๋ ๋๊ฐ์ ์์ ํ๊ฒ ๊ณต์ ํ ์ ์๋ค๋ ์ฅ์ ์ด ์๋ค.
String Buffer๋ append๋ฅผ ํตํด ๋ด๋ถ ๊ฐ์ ์์ ํ ์ ์๊ณ , ์ค๋ ๋์ ์์ ํ๋ค. String Builder๋ ์ค๋ ๋์ ์์ ํ์ง ์์ง๋ง, ์์ ํ ๊ตฌํ์ธ String Buffer์ ๋นํด ๋น ๋ฅด๋ค. ํ์ง๋ง ์ฑ๋ฅ์์ ํฐ ์ฐจ์ด๋ ์๋ค. ์ํฉ์ ๋ง์ถฐ ์ฌ๋ฌ ์ค๋ ๋ ์ฌ์ด์์ ๋ฌธ์์ด์ ์์ ํ ์ผ์ด ์์ผ๋ฉด String Buffer๋ฅผ ์ฌ์ฉํ๊ณ , ๋จ์ผ ์ค๋ ๋์์ ๋ฌธ์์ด ์์ ์ String Builder๋ฅผ ์ฌ์ฉํ๋ค
append ์ฌ์ฉ์์
StringBuffer sb = new StringBuffer("abc");
StringBuffer sb2 = sb.append(true);
sb.append('d').append(10.0);
// sb = "abctrue10.0"
// sb2 = "abctrue10.0"
insert์ฌ์ฉ์์
StringBuffer insert(int pos, boolean b)
StringBuffer insert(int pos, char c)
StringBuffer insert(int pos, char[ ] str)
StringBuffer insert(int pos, double d)
StringBuffer insert(int pos, float f)
StringBuffer insert(int pos, int i)
StringBuffer insert(int pos, long l)
StringBuffer insert(int pos, Object obj)
StringBuffer insert(int pos, String str)
๋ ๋ฒ์งธ ๋งค๊ฐ๋ณ์๋ก ๋ฐ์ ๊ฐ์ ๋ฌธ์์ด๋ก ๋ณํํ์ฌ ์ง์ ๋ ์์น์ ์ถ๊ฐํ๋ค. pos๋ 0๋ถํฐ ์์
StringBuffer sb = new StringBuffer("0123456");
sb.insert(4,'.');
// sb = 0123.456
delete ์ฌ์ฉ์์
StringBuffer delete(int start, int end)
์์์์น๋ถํฐ ๋์์น ์ฌ์ด์ ์๋ ๋ฌธ์ ์ ๊ฑฐ (๋ ์์น์ ๋ฌธ์๋ ์ ์ธ)
StringBuffer sb = new StringBuffer("0123456");
StringBuffer sb2 = sb.delete(3,6);
sb = "0126"
sb2 = "0126"
deleteCharAt ์ฌ์ฉ์์
StringBuffer deleteCharAt(int index)
์ง์ ๋ ์์น์ ๋ฌธ์ ์ ๊ฑฐ
StringBuffer sb = new StringBuffer("0123456");
sb.deleteCharAt(3);
sb = "012456"
์ฐธ๊ณ ๋ธ๋ก๊ทธ:
์ฐธ๊ณ ํ๋ฉด ์ข์ ๋ธ๋ก๊ทธ:
Leave a comment