"์๋ , ์๋ฏธ๊ณ ! ๋ ๋์ผ. ์์ฃผ ๊ฐ๋จํ ๋ โโ๋ค๋ฅธ ๋ํผ ํด๋์ค์ ๋ํด ์ด์ผ๊ธฐํ๊ณ ์ถ๋ค. ์ค๋ ์ฐ๋ฆฌ๋ char์ ๋ํผ์ธ Character์ ๋ํด ์ด์ผ๊ธฐํ ๊ฒ์ด๋ค."
"์ด ์์ ๋ ๊ฝค ๊ฐ๋จํฉ๋๋ค."
class Character
{
private final char value;
Character(char value)
{
this.value = value;
}
public char charValue()
{
return value;
}
static final Character cache[] = new Character[127 + 1];
public static Character valueOf(char c)
{
if (c <= 127)
return cache[(int)c];
return new Character(c);
}
public int hashCode()
{
return (int)value;
}
public boolean equals(Object obj)
{
if (obj instanceof Character)
{
return value == ((Character)obj).charValue();
}
return false;
}
}
"๋ค์์ด ์์ต๋๋ค."
1) ๋ด๋ถ ๊ฐ์ ๋ฐ๋ ์์ฑ์์ ์ด๋ฅผ ๋ฐํํ๋ charValue ๋ฉ์๋.
2) Character ๊ฐ์ฒด๋ฅผ ๋ฐํํ์ง๋ง 0์์ 127๊น์ง์ ๊ฐ์ ๊ฐ์ง ๊ฐ์ฒด๋ฅผ ์บ์ํ๋ valueOf ๋ฉ์๋์ ๋๋ค. Integer, Short ๋ฐ Byte์ ๊ฐ์ต๋๋ค.
3) hashCode() ๋ฐ equals ๋ฉ์๋ โ ๋ค์ ๋งํ์ง๋ง ์ฌ๊ธฐ์๋ ๋๋ผ์ด ๊ฒ์ด ์์ต๋๋ค.
"๊ทธ๋ฆฌ๊ณ ์ฌ๊ธฐ์๋ ๋ค๋ฅธ ์ ์ฉํ ๋ฐฉ๋ฒ์ด ๋ง์ด ์์ต๋๋ค(์์ ํ์๋์ง ์์). ์ฌ๊ธฐ์ ๋ช ๊ฐ์ง๋ฅผ ๋์ดํ๊ฒ ์ต๋๋ค."
๋ฐฉ๋ฒ | ์ค๋ช |
---|---|
|
๋ฌธ์๊ฐ ์ ๋์ฝ๋ ๋ฌธ์์ ๋๊น? |
|
๋ฌธ์๊ฐ ์ซ์์ธ๊ฐ์? |
|
์บ๋ฆญํฐ๊ฐ ์ ์ด ์บ๋ฆญํฐ์ ๋๊น? |
|
์บ๋ฆญํฐ๊ฐ ๋ฌธ์์ธ๊ฐ์? |
|
๋ฌธ์๊ฐ ๋ฌธ์์ ๋๊น ์๋๋ฉด ์ซ์์ ๋๊น? |
|
์๋ฌธ์์ธ๊ฐ์? |
|
๋๋ฌธ์์ธ๊ฐ์? |
|
๋ฌธ์๊ฐ ๊ณต๋ฐฑ์ ๋๊น ์๋๋ฉด ์ด์ ์ ์ฌํ ๊ฒ์ ๋๊น(๋ณด์ด์ง ์๋ ๋ฌธ์๊ฐ ๋ง์ด ์์)? |
|
์บ๋ฆญํฐ๊ฐ ํ์ดํ ์ผ์ด์ค ์บ๋ฆญํฐ์ ๋๊น? |
"๊ณ ๋ง์, ํด. ์ด ๋ฐฉ๋ฒ๋ค ์ค ์ผ๋ถ๋ ๋์๊ฒ ์ ์ฉํ ๊ฒ ๊ฐ์."
GO TO FULL VERSION