1. StringTokenizer
ํด๋์ค
์ด์ ๋ฌธ์์ด ์์ ๊ณผ ๊ด๋ จ๋ ๋ช ๊ฐ์ง ์ผ๋ฐ์ ์ธ ์๋๋ฆฌ์ค๊ฐ ์์ต๋๋ค. ๋ฌธ์์ด์ ์ฌ๋ฌ ๋ถ๋ถ์ผ๋ก ์ด๋ป๊ฒ ๋ถํ ํฉ๋๊น? ์ด๋ฅผ ์ํํ๋ ๋ฐฉ๋ฒ์๋ ์ฌ๋ฌ ๊ฐ์ง๊ฐ ์์ต๋๋ค.
split()
๋ฐฉ๋ฒ
๋ฌธ์์ด์ ์ฌ๋ฌ ๋ถ๋ถ์ผ๋ก ๋ถํ ํ๋ ์ฒซ ๋ฒ์งธ ๋ฐฉ๋ฒ์ ์ด split()
๋ฐฉ๋ฒ์ ์ฌ์ฉํ๋ ๊ฒ์
๋๋ค. ํน์ ๊ตฌ๋ถ ๋ฌธ์์ด์ ์ ์ํ๋ ์ ๊ท์์ ์ธ์๋ก ์ ๋ฌํด์ผ ํฉ๋๋ค. Java Multithreading ํ์คํธ ์์ ์ ๊ท ํํ์์ด ๋ฌด์์ธ์ง ๋ฐฐ์ฐ๊ฒ ๋ฉ๋๋ค .
์:
์ํธ | ๊ฒฐ๊ณผ |
---|---|
|
๊ฒฐ๊ณผ๋ ์ธ ๋ฌธ์์ด์ ๋ฐฐ์ด์
๋๋ค.
|
๊ฐ๋จํ์ง๋ง ๋๋ก๋ ์ด ์ ๊ทผ ๋ฐฉ์์ด ๊ณผ๋ํฉ๋๋ค. ๊ตฌ๋ถ ๊ธฐํธ(์: ๊ณต๋ฐฑ, ๊ฐํ ๋ฌธ์, ํญ, ๋ง์นจํ)๊ฐ ๋ง์ผ๋ฉด ๋ค์ ๋ณต์กํ ์ ๊ท์์ ๊ตฌ์ฑํด์ผ ํฉ๋๋ค. ์ฝ๊ธฐ ์ด๋ ค์ฐ๋ฏ๋ก ์์ ํ๊ธฐ ์ด๋ ต์ต๋๋ค.
StringTokenizer
์์
Java์๋ ์ ์ฒด ์์ ์ด ๋ฌธ์์ด์ ํ์ ๋ฌธ์์ด๋ก ๋ถํ ํ๋ ํน์ ํด๋์ค๊ฐ ์์ต๋๋ค.
์ด ํด๋์ค๋ ์ ๊ท์์ ์ฌ์ฉํ์ง ์์ต๋๋ค. ๋์ ๊ตฌ๋ถ ๊ธฐํธ๋ก ๊ตฌ์ฑ๋ ๋ฌธ์์ด์ ์ ๋ฌํ๊ธฐ๋ง ํ๋ฉด ๋ฉ๋๋ค. ์ด ์ ๊ทผ ๋ฐฉ์์ ์ฅ์ ์ ์ ์ฒด ๋ฌธ์์ด์ ํ ๋ฒ์ ์ฌ๋ฌ ์กฐ๊ฐ์ผ๋ก ๋๋์ง ์๊ณ ์ฒ์๋ถํฐ ๋๊น์ง ํ ๋ฒ์ ํ ๋จ๊ณ์ฉ ์ด๋ํ๋ค๋ ๊ฒ์ ๋๋ค.
์ด ํด๋์ค์๋ ์์ฑ์์ ๋ ๊ฐ์ง ์ค์ํ ๋ฉ์๋๊ฐ ์์ต๋๋ค. ์ฐ๋ฆฌ๋ ๋ถ๋ถ์ผ๋ก ๋ถํ ํ ๋ฌธ์์ด๊ณผ ์ผ๋ จ์ ๊ตฌ๋ถ ๋ฌธ์๋ก ๊ตฌ์ฑ๋ ๋ฌธ์์ด์ ์์ฑ์์ ์ ๋ฌํฉ๋๋ค.
ํ๋ ์์ | ์ค๋ช |
---|---|
|
๋ค์ ํ์ ๋ฌธ์์ด์ ๋ฐํํฉ๋๋ค. |
|
ํ์ ๋ฌธ์์ด์ด ๋ ์๋์ง ํ์ธํฉ๋๋ค. |
์ด ํด๋์ค๋ ์ด๋ป๊ฒ๋ ์ค์บ๋ ํด๋์ค๋ฅผ ์ฐ์์ํค๋ฉฐ ๋ฉ์๋๋ nextLine()
์์ต๋๋ค hasNextLine()
.
StringTokenizer
๋ค์ ๋ช
๋ น์ ์ฌ์ฉํ์ฌ ๊ฐ์ฒด๋ฅผ ๋ง๋ค ์ ์์ต๋๋ค .
StringTokenizer name = new StringTokenizer(string, delimiters);
string
๋ถ๋ถ์ผ๋ก ๋๋ ๋ฌธ์์ด์ ์ด๋์ ์์ต๋๊น? And delimiters
๋ ๋ฌธ์์ด์ด๋ฉฐ ๊ทธ ์์ ๊ฐ ๋ฌธ์๋ ๊ตฌ๋ถ ๊ธฐํธ๋ก ์ฒ๋ฆฌ๋ฉ๋๋ค. ์:
์ํธ | ์ฝ์ ์ถ๋ ฅ |
---|---|
|
|
๋ ๋ฒ์งธ ๋ฌธ์์ด๋ก ์์ฑ์์ ์ ๋ฌ๋ ๋ฌธ์์ด์ ๊ฐ ๋ฌธ์๋ StringTokenizer
๊ตฌ๋ถ ๊ธฐํธ๋ก ๊ฐ์ฃผ๋ฉ๋๋ค.
2. String.format()
๋ฉ์๋ ๋ฐ StringFormatter
ํด๋์ค
String ํด๋์ค์ ๋ ๋ค๋ฅธ ํฅ๋ฏธ๋ก์ด ๋ฐฉ๋ฒ์ format()
.
๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ๋ค์ํ ๋ณ์๊ฐ ์๋ค๊ณ ๊ฐ์ ํด ๋ณด๊ฒ ์ต๋๋ค. ํ ์ค๋ก ํ๋ฉด์ ์ด๋ป๊ฒ ํ์ํฉ๋๊น? ์๋ฅผ ๋ค์ด ์ผ๋ถ ๋ฐ์ดํฐ(์ผ์ชฝ ์ด)์ ์ํ๋ ์ถ๋ ฅ(์ค๋ฅธ์ชฝ ์ด)์ด ์์ต๋๋ค.
์ํธ | ์ฝ์ ์ถ๋ ฅ |
---|---|
|
|
์ฝ๋๋ ๋ค์๊ณผ ๊ฐ์ ๊ฒ์ ๋๋ค.
ํ๋ก๊ทธ๋จ ์ฝ๋ |
---|
|
์ด๋ฌํ ์ฝ๋๋ ๊ฐ๋ ์ฑ์ด ์ข์ง ์์ต๋๋ค. ๋ณ์ ์ด๋ฆ์ด ๋ ๊ธธ๋ฉด ์ฝ๋๊ฐ ํจ์ฌ ๋ ์ด๋ ค์์ง๋๋ค.
ํ๋ก๊ทธ๋จ ์ฝ๋ |
---|
|
์ ์ฝํ์ง ์์ต๋๊น?
ํ์ง๋ง ์ด๋ ์ค์ ํ๋ก๊ทธ๋จ์์ ํํ ๋ณผ ์ ์๋ ์ํฉ์ด๋ฏ๋ก ์ด ์ฝ๋๋ฅผ ๋ณด๋ค ๊ฐ๋จํ๊ณ ๊ฐ๊ฒฐํ๊ฒ ์์ฑํ ์ ์๋ ๋ฐฉ๋ฒ์ ๋ํด ์๋ ค๋๋ฆฌ๊ณ ์ ํฉ๋๋ค.
String.format
String ํด๋์ค์๋ ์ ์ format()
๋ฉ์๋๊ฐ ์์ต๋๋ค. ์ด๋ฅผ ํตํด ๋ฌธ์์ด์ ๋ฐ์ดํฐ์ ๊ฒฐํฉํ๊ธฐ ์ํ ํจํด์ ์ง์ ํ ์ ์์ต๋๋ค. ๋ช
๋ น์ ์ผ๋ฐ์ ์ธ ๋ชจ์์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
String name = String.format(pattern, parameters);
์:
์ํธ | ๊ฒฐ๊ณผ |
---|---|
|
|
|
|
|
|
๋ฉ์๋ ์ ์ฒซ ๋ฒ์งธ ๋งค๊ฐ๋ณ์ ๋ ๋ฐ์ดํฐ๋ฅผ ์ฝ์
ํด์ผ ํ๋ ์์น์ ํ์ ์ง์ ์(์: ๋ฐ ) format()
๋ผ๊ณ ํ๋ ํน์ ๋ฌธ์์ ํจ๊ป ์ํ๋ ๋ชจ๋ ํ
์คํธ๋ฅผ ํฌํจํ๋ ํ์ ๋ฌธ์์ด์
๋๋ค .%d
%s
์ด format()
๋ฉ์๋๋ ์ด๋ค %s
๊ณผ %d
ํ์ ์ง์ ์๋ฅผ ๋งค๊ฐ ๋ณ์ ๋ชฉ๋ก์์ ํ์ ๋ฌธ์์ด ๋ค์ ์ค๋ ๋งค๊ฐ ๋ณ์๋ก ๋ฐ๊ฟ๋๋ค. ๋ฌธ์์ด์ ์ฝ์
ํ๋ ค๋ฉด %s
. ์ซ์๋ฅผ ์ฝ์
ํ๋ ค๋ ๊ฒฝ์ฐ ํ์ ์ง์ ์๋ ์
๋๋ค %d
. ์:
์ํธ | ๊ฒฐ๊ณผ |
---|---|
|
s ๋์ผํ๋ค"a=1, b=4, c=3" |
๋ค์์ ํ์ ๋ฌธ์์ด ๋ด์์ ์ฌ์ฉํ ์ ์๋ ํ์ ์ง์ ์์ ์งง์ ๋ชฉ๋ก์ ๋๋ค.
์ง์ ์ | ์๋ฏธ |
---|---|
|
String |
|
์ ์: byte , short , int ,long |
|
์ค์: float ,double |
|
boolean |
|
char |
|
Date |
|
% ์ฑ๊ฒฉ |
์ด๋ฌํ ์ง์ ์๋ ๋ฐ์ดํฐ ์ ํ์ ๋ํ๋ด์ง๋ง ๋ฐ์ดํฐ์ ์์๋ฅผ ๋ํ๋ด๋ ์ง์ ์๋ ์์ต๋๋ค. ๋ฒํธ๋ก ์ธ์๋ฅผ ๊ฐ์ ธ์ค๋ ค๋ฉด(๋ฒํธ๋ 1๋ถํฐ ์์) " " ๋์ " " ๋ฅผ ์์ฑํด์ผ ํฉ๋๋ค . ์:%1$d
%d
์ํธ | ๊ฒฐ๊ณผ |
---|---|
|
s ๋์ผํ๋ค"a=13, b=12, c=11" |
%3$d
์ธ ๋ฒ์งธ ์ธ์, %2$d
๋ ๋ฒ์งธ ์ธ์, %d
์ฒซ ๋ฒ์งธ ์ธ์๋ฅผ ๊ฐ์ ธ์ต๋๋ค. ๋ฐ ํ์ ์ง์ ์๋ ๋๋์ ๊ฐ์ ์ง์ ์์ ์๊ด์์ด ์ธ์๋ฅผ ์ฐธ์กฐํฉ๋๋ค %s
.%d
%3$d
%2$s
3. ์คํธ๋ง ํ
StringPool
๋ฌธ์์ด ๋ฆฌํฐ๋ด๋ก ์ฝ๋์ ์ง์ ๋ ๋ชจ๋ ๋ฌธ์์ด์ ํ๋ก๊ทธ๋จ์ด ์คํ๋๋ ๋์ ์ด๋ผ๋ ๋ฉ๋ชจ๋ฆฌ ์์ญ์ ์ ์ฅ๋ฉ๋๋ค . StringPool
๋ฌธ์์ด์ ์ ์ฅํ๊ธฐ ์ํ ํน์ ๋ฐฐ์ด์
๋๋ค. ๊ทธ ๋ชฉ์ ์ ๋ฌธ์์ด ์ ์ฅ์ ์ต์ ํํ๋ ๊ฒ์
๋๋ค.
์ฒซ์งธ, ์ฝ๋์ ์ง์ ๋ ๋ฌธ์์ด์ ์ด๋๊ฐ์ ์ ์ฅ๋์ด์ผ ํฉ๋๋ค. ์ฝ๋๋ ๋ช ๋ น์ผ๋ก ๊ตฌ์ฑ๋์ง๋ง ๋ฐ์ดํฐ(ํนํ ํฐ ๋ฌธ์์ด)๋ ์ฝ๋์ ๋ณ๋๋ก ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฅํด์ผ ํฉ๋๋ค. ๋ฌธ์์ด ๊ฐ์ฒด์ ๋ํ ์ฐธ์กฐ๋ง ์ฝ๋์ ๋ํ๋ฉ๋๋ค.
๋์งธ, ๋ชจ๋ ๋์ผํ ๋ฌธ์์ด ๋ฆฌํฐ๋ด์ ๋ฉ๋ชจ๋ฆฌ์ ํ ๋ฒ๋ง ์ ์ฅ๋์ด์ผ ํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๊ทธ๊ฒ์ด ์๋ํ๋ ๋ฐฉ์์
๋๋ค. ํด๋์ค ์ฝ๋๊ฐ Java ์์คํ
์ ์ํด ๋ก๋๋๋ฉด ๋ชจ๋ ๋ฌธ์์ด ๋ฆฌํฐ๋ด์ด StringPool
์์ง ์๋ ๊ฒฝ์ฐ ์ ์ถ๊ฐ๋ฉ๋๋ค. ์ด๋ฏธ ์๋ ๊ฒฝ์ฐ StringPool
.
๋ฐ๋ผ์ ์ฝ๋์ ์ฌ๋ฌ ๋ณ์์ ๋์ผํ ๋ฆฌํฐ๋ด์ ํ ๋นํ๋ฉด String
์ด๋ฌํ ๋ณ์์ ๋์ผํ ์ฐธ์กฐ๊ฐ ํฌํจ๋ฉ๋๋ค. ๋ฆฌํฐ๋ด์ ํ ๋ฒ๋ง ์ถ๊ฐ๋ฉ๋๋ค StringPool
. ๋ค๋ฅธ ๋ชจ๋ ๊ฒฝ์ฐ์ ์ฝ๋๋ ์ ์ด๋ฏธ ๋ก๋๋ ๋ฌธ์์ด์ ๋ํ ์ฐธ์กฐ๋ฅผ ๊ฐ์ ธ์ต๋๋ค StringPool
.
์๋ ๋ฐฉ์์ ๋๋ต ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
์ํธ | StringPool ์์ |
---|---|
|
|
a
์ด๊ฒ์ด ๋ฐ b
๋ณ์๊ฐ ๋์ผํ ์ฐธ์กฐ๋ฅผ ์ ์ฅํ๋ ์ด์ ์
๋๋ค .
intern()
๋ฐฉ๋ฒ
๊ทธ๋ฆฌ๊ณ ๊ฐ์ฅ ์ข์ ์ ์ ํ๋ก๊ทธ๋๋ฐ ๋ฐฉ์์ผ๋ก ๋ชจ๋ ๋ฌธ์์ด์ StringPool
. ์ด๋ ๊ฒ ํ๋ ค๋ฉด String
๋ณ์์ intern()
๋ฉ์๋๋ฅผ ํธ์ถํ๊ธฐ๋ง ํ๋ฉด ๋ฉ๋๋ค.
๋ฉ์๋ ๋ ์์ง ์๋ ๊ฒฝ์ฐ intern()
๋ฌธ์์ด์ ์ ์ถ๊ฐํ๊ณ ์ ๋ฌธ์์ด์ ๋ํ ์ฐธ์กฐ๋ฅผ ๋ฐํํฉ๋๋ค .StringPool
StringPool
StringPool
๋ฉ์๋๋ฅผ ์ฌ์ฉ ํ์ฌ ๋ ๊ฐ์ ๋์ผํ ๋ฌธ์์ด์ด ์ถ๊ฐ๋๋ฉด intern()
๋ฉ์๋๋ ๋์ผํ ์ฐธ์กฐ๋ฅผ ๋ฐํํฉ๋๋ค. ์ฐธ์กฐ๋ก ๋ฌธ์์ด์ ๋น๊ตํ๋ ๋ฐ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์:
์ํธ | ๋ฉ๋ชจ |
---|---|
|
|
|
|
์ด ๋ฐฉ๋ฒ์ ์์ฃผ ์ฌ์ฉํ์ง ์์ ๊ฒ ๊ฐ์ง๋ง ์ฌ๋๋ค์ ์ธํฐ๋ทฐ์์ ์ด ๋ฐฉ๋ฒ์ ๋ํด ๋ฌป๋ ๊ฒ์ ์ข์ํฉ๋๋ค . ๋ฐ๋ผ์ ๋ชจ๋ฅด๋ ๊ฒ๋ณด๋ค ์๋ ๊ฒ์ด ์ข์ต๋๋ค.
GO TO FULL VERSION