ch15 : String
String
String ํด๋์ค๋ Serializable, Comparable, CharSequence ์ธํฐํ์ด์ค๋ฅผ ์์๋ฐ๋๋ค.(๊ตฌํํ๋ค)
Serializable : ์ง๋ ฌํํ ๋ ์ฌ์ฉ
๊ฐ์ฒด๋ฅผ ํ์ผ๋ก ์ ์ฅํ๊ฑฐ๋ ๋ค๋ฅธ ์๋ฒ์ ์ ์ก ๊ฐ๋ฅํ ์ํ๋ก ๋ณํ
Comparable : ๊ฐ์ฒด์ ์์๋ฅผ ์ฒ๋ฆฌํ ๋ ์ฌ์ฉ
CharSequence : ํด๋น ํด๋์ค๊ฐ ๋ฌธ์์ด์ ๋ค๋ฃจ๊ธฐ ์ํ ํด๋์ค๋ผ๋ ๊ฒ์ ๋ํ๋ด๊ธฐ ์ํด ์ฌ์ฉ
๊ฐ์ฒด์ null ์ฒดํฌ๋ ๋ฐ๋์ ํ์ํ๋ค.
null์ธ ๊ฒ์ฒด์ ๋ฉ์๋์ ์ ๊ทผํ๋ฉด NullPointException์ด ๋ฐ์ํ๋ค.
โ ๋ฉ์๋๋ก ๋์ด์ค๋ ๊ฐ์ฒด๊ฐ ๋์ผ ํ๋ฅ ์ด ์กฐ๊ธ์ด๋ผ๋ ์๋ค๋ฉด ๋ฐ๋์ ํ ๋ฒ์ฉ null์ฒดํฌ๋ฅผ ํ์ฌ ๋น์ ์์ ์๋ฌ๋ฅผ ๋ฐฉ์งํ ๊ฒ!
-------------๋ฉ์๋ ์ถ๊ฐโฆ
StringBuffer VS StringBuilder
String์ ๋ถ๋ณ(immutable)ํ ๊ฐ์ฒด๋ค. ์ฆ, ์ฒ์์ ๋ง๋ค์ด์ง๋ฉด ๋ ์ด์ ๊ทธ ๊ฐ์ ๋ฐ๊ฟ ์ ์๋ค. ๋ง์ฝ '+'๋ก ๋ฌธ์์ด์ ๋ํ์๋ฉด, ์๋ก์ด String์ ๋ง๋ค๊ฒ ๋๋ค. โ ์ String ๊ฐ์ฒด๋ฅผ ์์ฑํ๊ณ , ๊ธฐ์กด ๊ฒ์ ๋ฒ๋ ค์ง๋ฏ๋ก ๋นํจ์จ์ ์ด๋ค!
์ด๋ฐ ๋จ์ ์ ๋ณด์ํ๊ณ ์ StringBuffer
์ StringBuiler
๊ฐ ๋์๋ค.
๋๋ค ๋ฌธ์์ด์ ๋ํ๋๋ผ๋ ์ ๊ฐ์ฒด๋ฅผ ์์ฑํ์ง ์๋๋ค. ๊ธฐ๋ฅ์ ๊ฐ์ผ๋, ์ค๋ ๋ ์ธก๋ฉด์์๋ ์ฐจ์ด๊ฐ ์๋ค.
StringBuffer : Thread-safeํ๋ค
StringBuilder : Thread-safeํ์ง ์๋ค. ์๋๋ ๋ ๋น ๋ฅด๋ค.
String ๋ํ๊ธฐ ์ฐ์ฐ์ ํ ๊ฒฝ์ฐ, ์ปดํ์ผ ํ ๋ ์๋์ผ๋ก ํด๋น ์ฐ์ฐ์ StringBuilder๋ก ๋ณํํด ์ค๋ค.(JDK 5๋ถํฐ) ๋จ, for๋ฃจํ ๊ฐ์ ๋ฐ๋ณต ์ฐ์ฐ์ ํ ๋ ์๋์ผ๋ก ๋ณํํด์ฃผ์ง ์๋๋ค.
String, StringBufer, StringBuilder ๋ชจ๋ CharSequence ์ธํฐํ์ด์ค๋ฅผ ์์๋ฐ์ผ๋ฏ๋ก
๋งค๊ฐ ๋ณ์๋ก ๋ฐ์ ๊ฒฝ์ฐ String, StringBuffer ๊ฐ๊ฐ์ ํ์ ์ผ๋ก ๋ฐ๊ธฐ๋ณด๋ค
CharSequence
ํ์ ์ผ๋ก ๋ฐ๋๊ฒ ์ข๋ค.
Last updated