String, StringBuffer, StringBuilder ๋ชจ๋ ๋ฌธ์์ด์ ๋ค๋ฃจ๋ ํด๋์ค๋ก
๋ง์ ์ฐ์ฐ์ ๋ค๋ฃจ์ง ์๋ ๊ฒฝ์ฐ์๋ ์ด๋ค ํด๋์ค๋ฅผ ์ฌ์ฉํ๋๋ผ๋ ์ด์๋ฐ์ ๊ฐ๋ฅ์ฑ์ ๋ฎ๋ค.
ํ์ง๋ง? ์ฐ์ฐ์ด ๋ง์์ง๊ฑฐ๋ ๋ฉํฐ์ค๋ ๋ ๋ฑ ๋ณต์กํ๋ ๋ค์ํ ์ฝ๋๋ฅผ ์์ฑํ๋ ๊ฒฝ์ฐ๋ ๊ผญ ์ํฉ์ ๋ง๋ ํด๋์ค ์ฌ์ฉ์ ๊ถ์ฅํ๋ค.
Stringํด๋์ค์ StringBuffer,Builder์ ๊ฐ์ฅ ํฐ ์ฐจ์ด์ ์ ๋ถ๋ณ์ ์์ฑ์ด๋ค.
1. String
: immutable - ์์ ๊ณผ ์กฐ์์ด ๋ถ๊ฐ๋ฅํจ > ๋ถํ์ํ ์ธ์คํด์ค๋ฅผ ์์ฑํด์ผ ํจ(์ฆ ๋ฒ๋ ค์ง๊ณ ์๋ก ์์ฑ๋๋ค๋ ์๋ฏธ)
: ๋ฌธ์์ด ์ถ๋ ฅ์ด ๋ชฉ์ ์ธ ๊ฒฝ์ฐ์ ์ฌ์ฉ
: ๋ณํ์ง์๋ ๋ฌธ์์ด์ ์์ฃผ ์ฝ์ด๋ค์ด๋ ๊ฒฝ์ฐ ์ฌ์ฉ ๊ถ์ฅ
โก๏ธ ์๊ณ ๋ฆฌ์ฆ๊ณผ ๊ฐ์ ๋ฌธ์์ด์ CUD์ฐ์ฐ์ด ๋น๋ฒํ ๊ณณ์ ์ฌ์ฉํ๋ฉด heap๋ฉ๋ชจ๋ฆฌ์ ๊ฐ๋น์ง๊ฐ ๋์ด๋ ์ฑ๋ฅ์ ์ํฅ์ ์ค๋ค.
: ๋ ผ๋ฆฌ์ฐ์ฐ์(==)๋ ์ธ์คํด์ค ์์น(์ฃผ์๊ฐ)๋ง ๋น๊ต๊ฐ ๊ฐ๋ฅํ๊ธฐ ๋๋ฌธ์ ๋น๊ต๋ฅผ ์ํ๋ ๊ฒฝ์ฐ .equals() ๋ฉ์๋๋ฅผ ์ฌ์ฉํด์ผํ๋ค!
2. StringBuffer
: String๊ณผ ๋ฌ๋ฆฌ ๊ฐ๋ณ์ฑ(mutable)์ ๊ฐ์ง๋ ํด๋์ค
: .append() .delete() ๋ฑ์ API๋ฅผ ์ด์ฉํด ๋์ผ๊ฐ์ฒด๋ด์ ๋ฌธ์์ด ๋ณ๊ฒฝ์ด ๊ฐ๋ฅํ๋ค.
: ๋๊ธฐํ๋ฅผ ์ง์ํ์ฌ ๋ฉํฐ์ค๋ ๋ ํ๊ฒฝ์ ์์
3. StringBuilder
: String๊ณผ ๋ฌ๋ฆฌ ๊ฐ๋ณ์ฑ(mutable)์ ๊ฐ์ง๋ ํด๋์ค
: ๋๊ธฐํ๋ฅผ ์ง์ํ์ง ์์ ๋ฉํฐ์ค๋ ๋ ํ๊ฒฝ์๋ ์ ํฉํ์ง ์์
: ํ์ง๋ง ๋จ์ผ์ค๋ ๋์์์ ์ฑ๋ฅ์ buffer๋ณด๋ค ํจ์ฌ ์ฐ์
* String ํด๋์ค ๋ฉ์๋
* StringBuffer, StringBuilder ํด๋์ค ๋ฉ์๋
: append(), offset(index, str)- ๋ผ์๋ฃ๊ธฐ, delete(ind1, ind2), deleteCharAt(ind), reverse()
'Note for moment' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
์ ๋ค๋ฆญ(Generic) - ํ์ฉ์ ์ : ์๋ฃ๊ตฌ์กฐ (0) | 2020.09.05 |
---|---|
[thread] main์ค๋ ๋, ๋ค์ค์ค๋ ๋, ์ค๋ ๋๋๊ธฐํ (0) | 2020.09.05 |
[Java] ์๋ฃํ, Wrapperํด๋์ค (0) | 2020.09.05 |
[Java] ์์ธ(Exception)์ ์๋ฌ(Error), ์์ธ์ฒ๋ฆฌ, ์์ธํด๋์ค์์ฑ ๋ฐ ์ฐธ์กฐ (0) | 2020.09.03 |
[OOP] ์ถ์ํด๋์ค์ ์ธํฐํ์ด์ค, ๋์ดํ(Enum) (0) | 2020.09.03 |
๋๊ธ