์๋ก
Java์ Object ํด๋์ค๋ java.lang ํจํค์ง ์ค์์ ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉ๋๋ ํด๋์ค์ด๋ฉฐ, ๋ชจ๋ ์๋ฐ ํด๋์ค์ ์ต๊ณ ์กฐ์ ํด๋์ค์ ๋๋ค. ์ด๋ฒ ๊ฒ์๊ธ์์๋ Object ํ์ ์ intํ์ ์ผ๋ก ์บ์คํ ํ๋ ๋ฐฉ๋ฒ์ ๋ํด์ ํ๋ฒ ์ ๋ฆฌํด ๋ณด๊ฒ ์ต๋๋ค.
๋ฐฉ๋ฒ
1. Object์ ๊ฐ์ด Integer๋ผ๋ฉด ์๋์ ๊ฐ์ ๋ฐฉ๋ฒ์ ์ด์ฉํ ์ ์์ต๋๋ค.
int i = (Integer) object;
2. ๋ง์ฝ ์๋ฐ 7 ์ด์์ด๋ผ๋ฉด ์๋์ ๊ฐ์ ๊ฐ์ ๋ฐฉ์์ผ๋ก๋ ๊ฐ๋ฅํฉ๋๋ค.
int i = (int) object;
Object๊ฐ Interger๊ฐ ์๋๋ผ๋ฉด ClassCastException์๋ฌ๊ฐ ๋ฐ์ํ ์๋ ์์ผ๋ฉฐ, Object๊ฐ null์ผ ๊ฒฝ์ฐ์๋ NullPointerException์ด ๋ฐ์ํ๊ธฐ์ Object์ ํ์ ์ด Interger์์ด ๋ถ๋ช ํ ๋ ์ฌ์ฉ๊ธฐ๋ฅผ ๊ถ์ฅํ๋ ๋ฐฉ๋ฒ์ ๋๋ค.
3. ๋ค๋ฅธ ๋ฐฉ๋ฒ์ผ๋ก๋ String์ผ๋ก ๋ณํํ ํ์ ๋ค์ int๋ก ๋ณํํ๋ ๋ฐฉ๋ฒ์ ๋๋ค.
int i = Integer.parseInt((String.valueOf(Object)));
์ ์ฝ๋์ ๋์ ์๋ฆฌ๋ ์๋์ ๊ฐ์ต๋๋ค.
/**
* Parses the string argument as a signed decimal integer. The
* characters in the string must all be decimal digits, except
* that the first character may be an ASCII minus sign {@code '-'}
* ({@code '\u005Cu002D'}) to indicate a negative value or an
* ASCII plus sign {@code '+'} ({@code '\u005Cu002B'}) to
* indicate a positive value. The resulting integer value is
* returned, exactly as if the argument and the radix 10 were
* given as arguments to the {@link #parseInt(java.lang.String,
* int)} method.
*
* @param s a {@code String} containing the {@code int}
* representation to be parsed
* @return the integer value represented by the argument in decimal.
* @exception NumberFormatException if the string does not contain a
* parsable integer.
*/
public static int parseInt(String s) throws NumberFormatException {
return parseInt(s,10);
}
์ ์ฝ๋๋ Integer.parseInt() ๋ฉ์๋์ ์ค์ ๊ตฌํ ์ฝ๋์ ๋๋ค. ๋งค๊ฐ๋ณ์๋ฅผ ๋ณด๋ฉด String์ผ๋ก ๋ฐ๋ ๊ฒ์ ์ ์ ์์ต๋๋ค. ๋ฐ๋ผ์ String์ผ๋ก ๊ฐ์ ์ ๋ ฅ๋ฐ๊ธฐ ์ํด Object๊ฐ์ ๋จผ์ String์ผ๋ก ๋ณํ์์ผ์ฃผ์ด์ผ ํฉ๋๋ค. String.valueOf() ๋ฉ์๋๋ฅผ ํตํด์ Object๋ฅผ String์ผ๋ก ๋ณํ์ ์์ผ์ค ์ ์์ต๋๋ค.
/**
* Returns the string representation of the {@code int} argument.
* <p>
* The representation is exactly the one returned by the
* {@code Integer.toString} method of one argument.
*
* @param i an {@code int}.
* @return a string representation of the {@code int} argument.
* @see java.lang.Integer#toString(int, int)
*/
public static String valueOf(int i) {
return Integer.toString(i);
}
String.valueOf() ๋ฉ์๋์ ์ธ๋ถ ๊ตฌํ์ ์์ ๊ฐ์ต๋๋ค.
4. ์ฌ์ค valueOf๋ฅผ ์ฌ์ฉํ์ง ์๊ณ ๋ฐ๋ก ์๋์ ๊ฐ์ด String์ผ๋ก ์บ์คํ ํ ์๋ ์์ต๋๋ค.
int i = Integer.parseInt((String) Object);
์ ๋ฆฌ
- int i = (Integer) object;
- int i = (int) object; (์๋ฐ 7์ด์)
- int i = Integer.parseInt((String.valueOf(Object)));
- int i = Integer.parseInt((String) Object);
'BackEnd๐ฑ > Java' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Java] ๋ด๋ถ ํด๋์ค(inner class) ์ ์ต๋ช ํด๋์ค(anonymous class) (2) | 2022.05.18 |
---|---|
[Java] (Project, Package, Class, Method) Naming ๊ท์น (0) | 2022.05.16 |
[Java] String format() method (0) | 2022.05.14 |
[Java] wrapper ํด๋์ค์ ์ ์, ๋ฉ๋ชจ๋ฆฌ, ์บ์ฑ (0) | 2022.04.08 |
[Java] StringBuffer์ StringBuilder (0) | 2022.04.06 |
[Java] ArrayList vs LinkedList (0) | 2022.04.06 |
๋๊ธ