์ด์ ํฌ์คํธ์์ ์ค๋ช ํ ํฌ์ฅํ(wrapper class)์ ์์ฑ์๋ฅผ ์ด์ฉํ๋ฉด ๋ฌธ์์ด์ ๊ธฐ๋ณธํ ๊ฐ์ผ๋ก ๋ฐ๊ฟ ์ ์๋ค.
โป ์๋ฐ์คํฌ๋ฆฝํธ๋ฅผ ํตํด์ ์น ํ์ด์ง๋ฅผ ๋ง๋ค๊ณ ํผ ์์์ ์ฌ์ฉ์์ ์ ๋ ฅ์ ๋ฐ๊ณ ๋ฐฑ์๋๋ก ๋๊ฒจ์ค ๋
๋ฌธ์์ด์ ์๋ฃํ์ผ๋ก ์ ๋ ฅ์ ๋ฐ์์ ๊ฒ์ด๋ฏ๋ก ์ด ๋ฌธ์์ด ์๋ฃํ์ ํด๋น ๊ฐ์ผ๋ก ๋ณํํ๋ ๊ณผ์ ์ด ํ์ํ๋ค
โ๏ธ[ํ 1] ํฌ์ฅํ์ ๊ธฐ๋ณธํ ๊ฐ์ ๋ฐํํ๋ ๊ฐ์ฒด ๋ฉ์๋
๋ฉ์๋๋ช | ๊ธฐ๋ฅ |
byteValue() | byte๊ฐ์ ๋ฐํํ๋ค. |
shortValue() | short๊ฐ์ ๋ฐํํ๋ค. |
intValue() | int๊ฐ์ ๋ฐํํ๋ค. |
longValue() | long๊ฐ์ ๋ฐํํ๋ค. |
floatValue() | float๊ฐ์ ๋ฐํํ๋ค. |
doubleValue() | double๊ฐ์ ๋ฐํํ๋ค. |
์๋ฅผ ๋ค์ด์ ๋ค์๊ณผ ๊ฐ์ด Integer ํ ๊ฐ์ฒด์์ ๋ค์ํ ๊ธฐ๋ณธํ ๊ฐ์ ์ป์ ์ ์๋ค.
# ์ฝ๋
package tut02;
public class Tut02 {
public static void main(String[] args) {
int ia = new Integer("1234567").intValue();
float fa = new Integer("1234567").floatValue();
short sa = new Integer("1234567").shortValue(); //(*)
System.out.println(ia);
System.out.println(fa);
System.out.println(sa);
}
}
1234567
1234567.0
-10617
์์ (*)์์์ ๊ฐ์ด ์์ค ๋ณํ(lossy conversion)์ ๊ฒฝ์ฐ์๋ ๋ณ๋ค๋ฅธ ๊ฒฝ๊ณ ๋ ์ค๋ฅ๋ฅผ ๋ฐ์ํ์ง ์๋๋ค. ๋ฐ๋ผ์ ๊ฐ์ ํ์ ๋ฐ์ดํฐ์ ๋ณํ์๋ง ์ฐ๋ ๊ฒ์ด ๋ฐ๋์งํ๋ค.
ํฌ์ฅํ์ผ๋ก ๋ถํฐ ๊ธฐ๋ณธํ ๊ฐ์ ์ป๋ ๋ฉ์๋๋ก parse ๋ก ์์ํ๋ ์ ์ ๋ฉ์๋๋ค์ด ์๋ค. ์ด ๋ฉ์๋๋ฅผ ์ด์ฉํ๋ฉด ์ ์ํ์ ๋ฐํํ๋ ๋ฉ์๋๋ ๊ธฐ์๋ฅผ ์ง์ ํด ์ค ์๋ ์๋ค.
โ๏ธโ๏ธ[ํ 2] ํฌ์ฅํ์ ๊ธฐ๋ณธํ ๊ฐ์ ๋ฐํํ๋ ๋ฉ์๋
๋ฉ์๋๋ช | ๊ธฐ๋ฅ |
Byte.parseByte(String) Byte.parseByte(String, radix) |
๋ฌธ์์ด์ byte๊ฐ์ผ๋ก ๋ณํํ๋ค. ๊ธฐ์ radix์ธ ๋ฌธ์์ด์ byte๊ฐ์ผ๋ก ๋ณํํ๋ค. |
Short.parseShort(String) Short.parseShort(String, radix) |
๋ฌธ์์ด์ short๊ฐ์ผ๋ก ๋ณํํ๋ค. ๊ธฐ์ radix์ธ ๋ฌธ์์ด์ short๊ฐ์ผ๋ก ๋ณํํ๋ค. |
Integer.parseInt(String) Integer.parseInt(String, radix) |
๋ฌธ์์ด์ int๊ฐ์ผ๋ก ๋ณํํ๋ค. ๊ธฐ์ radix์ธ ๋ฌธ์์ด์ int๊ฐ์ผ๋ก ๋ณํํ๋ค. |
Long.parseLong(String) Long.parseLong(String, radix) |
๋ฌธ์์ด์ long๊ฐ์ผ๋ก ๋ณํํ๋ค. ๊ธฐ์ radix์ธ ๋ฌธ์์ด์ long๊ฐ์ผ๋ก ๋ณํํ๋ค. |
Float.parseFloat(String) | ๋ฌธ์์ด์ float๊ฐ์ผ๋ก ๋ณํํ๋ค. |
Double.parseDouble(String) | ๋ฌธ์์ด์ double๊ฐ์ผ๋ก ๋ณํํ๋ค. |
์ค์ ํ๋ก๊ทธ๋จ์์๋ ์ฃผ๋ก [ํ 2]์ ์ ์ ๋ฉ์๋๋ฅผ ์์ฃผ ์ฌ์ฉํ๊ฒ ๋๋ค.
# ์ฝ๋
package tut02;
public class Tut02 {
public static void main(String[] args) {
int ia = Integer.parseInt("1234567");
int ib = Integer.parseInt("11110010",2); //์ด์ง์
int ic = Integer.parseInt("1ab3f",16); //์ญ์ก์ง์
System.out.println(ia);
System.out.println(ib);
System.out.println(ic);
}
}
1234567
242
109375
ํฌ์ฅํ ๊ฐ์ฒด๋ฅผ ๋ฐํํ๋ valueOf() ์ด๋ผ๋ ์ ์ ๋ฉ์๋๋ ์๋ค.
โ๏ธ[ํ 3] ๋ฌธ์์ด๋ก ๋ถํฐ ํฌ์ฅํ ๊ฐ์ฒด๋ฅผ ๋ฐํํ๋ ๋ฉ์๋
๋ฉ์๋๋ช | ๊ธฐ๋ฅ |
Byte.valueOf(String) Byte.valueOf(String,radix) Byte.valueOf(byte) |
๋ฌธ์์ด์ Byte ๊ฐ์ฒด๋ก ๋ณํ ๊ธฐ์ radix์ธ ๋ฌธ์์ด์ Byte ๊ฐ์ฒด๋ก ๋ณํํ๋ค. byte๊ฐ์ Byte ๊ฐ์ฒด๋ก ๋ฐ์ฑ |
Short.valueOf(String) Short.valueOf(String,radix) Short.valueOf(short) |
๋ฌธ์์ด์ Short ๊ฐ์ฒด๋ก ๋ณํ ๊ธฐ์ radix์ธ ๋ฌธ์์ด์ Short ๊ฐ์ฒด๋ก ๋ณํํ๋ค. short๊ฐ์ Short ๊ฐ์ฒด๋ก ๋ฐ์ฑ |
Integer.valueOf(String) Integer.valueOf(String,radix) Integer.valueOf(int) |
๋ฌธ์์ด์ Integer ๊ฐ์ฒด๋ก ๋ณํ ๊ธฐ์ radix์ธ ๋ฌธ์์ด์ Interger ๊ฐ์ฒด๋ก ๋ณํํ๋ค. int๊ฐ์ Interger ๊ฐ์ฒด๋ก ๋ฐ์ฑ |
Long.valueOf(String) Long.valueOf(String,radix) Long.valueOf(long) |
๋ฌธ์์ด์ Long ๊ฐ์ฒด๋ก ๋ณํ ๊ธฐ์ radix์ธ ๋ฌธ์์ด์ Long ๊ฐ์ฒด๋ก ๋ณํํ๋ค. long๊ฐ์ Long ๊ฐ์ฒด๋ก ๋ฐ์ฑ |
Float.valueOf(String) Float.valueOf(float) |
๋ฌธ์์ด์ Float ๊ฐ์ฒด๋ก ๋ณํํ๋ค. float๊ฐ์ FLoat ๊ฐ์ฒด๋ก ๋ฐ์ฑ |
Double.valueOf(String) Double.valueOf(float) |
๋ฌธ์์ด์ Double ๊ฐ์ฒด๋ก ๋ณํํ๋ค. float๊ฐ์ Double ๊ฐ์ฒด๋ก ๋ฐ์ฑ |
์๋ฅผ ๋ค์ด์
int ia = Integer.valueOf("1234567");
์ด๋ ๊ฒ ํ๋ฉด ์๋ ์ธ๋ฐ์ฑ์ด ์ผ์ด๋์ ๋ณ์ ia์ 1234567์ด๋ ๊ฐ์ด ์ ์ฅ๋๋ค. ํ์ง๋ง parseInt()ํจ์๋ณด๋ค๋ ๋น์ฐํ ์ฑ๋ฅ์ด ๋จ์ด์ง๋ค.
'Backend๐ฑ > Java' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Optional๐ฑ] Java ์ ์ฉํ Null ์ฒ๋ฆฌ (0) | 2023.05.24 |
---|---|
[JAVA] JPA Optional๐ฑ, ifPresent๋ฅผ ํตํ null ์ฒดํฌ (0) | 2023.05.24 |
[๋ฉด์ ์ง๋ฌธ๐ฑ] ArrayList๋ ์นํด์ง๊ธฐ๐ฅบ (0) | 2023.05.22 |
[๋๋ค์๐] ๋๋ค์ map, filter ์ข์ ์์ (0) | 2023.05.22 |
[Java๐ค] LocalDateTime์ด๋ผ๊ณ ๋ค์ด๋ดค๋ !! (0) | 2023.05.15 |