Item 62. Avoid String Type
๋ค๋ฅธ ํ์ ์ด ์ ์ ํ๋ค๋ฉด ๋ฌธ์์ด ์ฌ์ฉ์ ํผํ๋ผ
๋ฌธ์์ด์ ์๋ฐ์์ ์ ์ง์ํด์ฃผ๊ธฐ ๋๋ฌธ์ ์๋ํ์ง ์์ ์ฉ๋๋ก ์ฌ์ฉํ๊ธฐ ์ฝ๊ธฐ ๋๋ฌธ์ ์ ํฉํ์ง ์์ ์ฉ๋๋ก ์ฌ์ฉํ ์ ์๋ค. ๋ฌธ์์ด์ ๋ค๋ฅธ ๊ฐ ํ์ ์ ๋์ ํ๊ธฐ์๋ ํจ์ฌ ๋ฌด๊ฒ๊ณ , ๋ ์ ์ฐํ๊ณ , ๋ ์ฝ๊ธฐ ์ฝ๊ธฐ ๋๋ฌธ์ ๊ฐ๋ฅํ๋ค๋ฉด ์ ์ ํ ํ์ ์ผ๋ก ๋ณํํด์ ์ฌ์ฉํ๋ ๊ฒ์ด ์ข๋ค.
์์นํ์ธ ๊ฒฝ์ฐ: int, float, BigInteger, BigDecimal ๋ฑ ์ ๋นํ ์์น ํ์ ์ผ๋ก ๋ณํ
์ง๋ฌธ์ ๋ต์ธ ๊ฒฝ์ฐ: ์ด๊ฑฐ ํ์ ์ด๋ boolean์ผ๋ก ๋ณํ
ํผํฉ ํ์ ์ธ ๊ฒฝ์ฐ: ์ ์ ํ ์ ์ฉ ํด๋์ค๋ฅผ ์์ฑ
๋ค์์ ๊ถํ์ ๋ฌธ์์ด๋ก ํํํ์ฌ ๋ถ์ ์ ํ๊ฒ ์ฌ์ฉํ ์์ด๋ค.
์ ์ฝ๋๋ ๋ฌธ์์ด ํค๊ฐ ์ ์ญ ์ด๋ฆ ๊ณต๊ฐ์์ ๊ณต์ ๋๋๋ฐ, ํค ์ด๋ฆ์ผ๋ก ๊ณ ์ ํ ๊ฐ์ด ์๋ ๊ฐ์ ๋ฌธ์์ด์ ์ฌ์ฉํ๋ฉด ์๋์น ์๊ฒ ๊ฐ์ด ๋ฎ์ด์ฐ์ฌ์ง๊ฑฐ๋ ์๋ก ๊ณต์ ๋ ์ ์๋ค. ์ด๋ ๊ฒ ๋ฌธ์์ด์ ์ฌ์ฉํ๋ ๊ฒ๋ณด๋ค๋ ๋ค์๊ณผ ๊ฐ์ด ์ ์ฉ ํด๋์ค๋ฅผ ์์ฑํ์ฌ ์ฌ์ฉํ๋ ๊ฒ์ด ์ข๋ค.
(๋ฒ์ธ)์ ์ฝ๋ ๊ฐ์
์ ์ฝ๋๋ ๋ฌธ์์ด ๊ธฐ๋ฐ์ผ๋ก ์์ฑ๋ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํด์ฃผ์ง๋ง ๋ค์ ์๋์ ๊ฐ์ด ๊ฐ์ ํ ์ ์๋ค.
set/get ์ ์ ๋ฉ์๋๋ฅผ Key ํด๋์ค์ ์ธ์คํด์ค ๋ฉ์๋๋ก ๋ณ๊ฒฝ
ThreadLocal ํด๋์ค์ ์ญํ ์ด ์์ผ๋ฏ๋ก Key ํด๋์ค๋ฅผ ์ ๊ฑฐํ๊ณ ThreadLocal ํด๋์ค์ ํตํฉ
๋งค๊ฐ๋ณ์ํ ํ์ ์ ์ฌ์ฉํ์ฌ ํ์ ์์ ์ฑ์ ๋์
Last updated
Was this helpful?