์๋ฐ์๋ ๊ธฐ๋ณธ ํ์ ๊ณผ Wrapper ํด๋์ค๊ฐ ์กด์ฌํ๋ค.
- ๊ธฐ๋ณธ ํ์
:
int, long, float, double, boolean
๋ฑ - Wrapper ํด๋์ค :
Integer, Long, Float, Double, Boolean
๋ฑ
๋ฐ์ฑ๊ณผ ์ธ๋ฐ์ฑ์ ๋ํ ๊ฐ๋ ์ ๋จผ์ ์ดํด๋ณด์
๋ฐ์ฑ : ๊ธฐ๋ณธ ํ์ ๋ฐ์ดํฐ์ ๋์ํ๋ Wrapper ํด๋์ค๋ก ๋ง๋๋ ๋์
์ธ๋ฐ์ฑ : Wrapper ํด๋์ค์์ ๊ธฐ๋ณธ ํ์ ์ผ๋ก ๋ณํ
// ๋ฐ์ฑ
int i = 10;
Integer num = new Integer(i);
// ์ธ๋ฐ์ฑ
Integer num = new Integer(10);
int i = num.intValue();
JDK 1.5๋ถํฐ๋ ์๋ฐ ์ปดํ์ผ๋ฌ๊ฐ ๋ฐ์ฑ๊ณผ ์ธ๋ฐ์ฑ์ด ํ์ํ ์ํฉ์ ์๋์ผ๋ก ์ฒ๋ฆฌ๋ฅผ ํด์ค๋ค.
// ์คํ ๋ฐ์ฑ
int i = 10;
Integer num = i;
// ์คํ ์ธ๋ฐ์ฑ
Integer num = new Integer(10);
int i = num;
ํธ์์ฑ์ ์ํด ์คํ ๋ฐ์ฑ๊ณผ ์ธ๋ฐ์ฑ์ด ์ ๊ณต๋๊ณ ์์ง๋ง, ๋ด๋ถ์ ์ผ๋ก ์ถ๊ฐ ์ฐ์ฐ ์์ ์ด ๊ฑฐ์น๊ฒ ๋๋ค.
๋ฐ๋ผ์, ์คํ ๋ฐ์ฑ&์ธ๋ฐ์ฑ์ด ์ผ์ด๋์ง ์๋๋ก ๋์ผํ ํ์ ์ฐ์ฐ์ด ์ด๋ฃจ์ด์ง๋๋ก ๊ตฌํํ์.
public static void main(String[] args) {
long t = System.currentTimeMillis();
Long sum = 0L;
for (long i = 0; i < 1000000; i++) {
sum += i;
}
System.out.println("์คํ ์๊ฐ: " + (System.currentTimeMillis() - t) + " ms");
}
// ์คํ ์๊ฐ : 19 ms
public static void main(String[] args) {
long t = System.currentTimeMillis();
long sum = 0L;
for (long i = 0; i < 1000000; i++) {
sum += i;
}
System.out.println("์คํ ์๊ฐ: " + (System.currentTimeMillis() - t) + " ms") ;
}
// ์คํ ์๊ฐ : 4 ms
100๋ง๊ฑด ๊ธฐ์ค์ผ๋ก ์ฝ 5๋ฐฐ์ ์ฑ๋ฅ ์ฐจ์ด๊ฐ ๋๋ค. ๋ฐ๋ผ์ ์๋น์ค๋ฅผ ๊ฐ๋ฐํ๋ฉด์ ๋ถํ์ํ ์คํ ์บ์คํ ์ด ์ผ์ด๋๋ ์ง ํ์ธํ๋ ์ต๊ด์ ๊ฐ์ง์.