* 프리미티브 타입
char - Character
int - Integer
long - Long
double - double
float - float
byte - Byte
short - short
boolean - Boolean
* boxing : primitive - > Wrapper객체화
생성자의 argument로 넣어 객체 생성.
ex:
new Integer(10);
new Integer("10");// 숫자로 받을 수 있는 문자열도 넣을 수 있다.
new Long(l); //long, double, float... 다 마찬가지로 숫자와 문자열을 넣을 수 있다.
- unboxing : Wrapper객체 -> primitive
wrapper객체.xxxValue();//xxx에는 primitive type이 온다.
int i = in.intValue();
long l = ln.longValue();
jdk1.5버전 이상부터는 자동으로 일어난다.
- autoboxing
int i = 10;
Integer in = new Integer(i);
Integer in = i;
Long l = 10L;
- autounboxing
Integer in = new Integer(10);
int i = in.intValue();
int i = in;
*
project : day22
package : wrapper
class : WrapperTest
package wrapper;
import java.util.ArrayList;
public class WrapperTest {
public static void boxingUnboxingTest(){
//boxing : primitive -> 객체(Wrapper)
int i=10;
Integer in = new Integer(i);
Boolean b = new Boolean(false);
Long l = new Long("10");
//unboxing : Wrapper 객체 -> primitive
int j = in.intValue();
boolean b2 = b.booleanValue();
long l2 = l.longValue();
System.out.println(in+" - "+j);
}
public static void autoBoxingUnboxing(){
//auto boxing
Integer in =10;
Boolean b1 = true;
//auto unboxing
int i = in;
boolean b = b1;
ArrayList list = new ArrayList();
list.add(20);//Integer객체
list.add(50L);//Long 객체
list.add(false);//Boolean 객체
int j = (Integer)list.get(0);
long l = (Long)list.get(1);
boolean b2 = (Boolean)list.get(2);
ArrayList<Integer> list2 = new ArrayList<Integer>();
list2.add(10);
list2.add(20);
int k = list2.get(0);
//향상된 for문으로 list 출력
for(Object o : list){
System.out.println(o);
}
}
public static void StringToWrapper(){
//문자열 값을 Wrapper 객체에 넣기.
//Integer in = "10";
Integer in = new Integer("10");
int i = in;
Boolean b1 = new Boolean("false");
//Long l1 = new Long("abcde");//숫자형태가 아니기 떄문에 컴파일 시점에는 괜찮지만 실행시점에서 에러가 난다.
//Long l1 = new Long("10abcde");
Long l1 = new Long("10");
//String -> primitive
//WrapperClass.parseXXXX(xxxx); XXXX프리미티브
int r = Integer.parseInt("20030");
double d = Double.parseDouble("2030.12");
boolean b = Boolean.parseBoolean("false");
//float f = Float.parseFloat("abcde"); //숫자로 바꿀수 없기때문에 컴파일은 되도 실행시점에서 오류가 난다. 숫자로 바꿀수 있는 문자열을 넣어야 한다.
//char c = Character.parseChar("a");//이런건 없다.
char c = "a".charAt(0);
}
public static void main(String[] args) {
boxingUnboxingTest();
autoBoxingUnboxing();
StringToWrapper();
}
}
'프로그래밍 > JAVA프로그래밍' 카테고리의 다른 글
java 시간 날짜 처리 (0) | 2012.07.29 |
---|---|
String class, String buffer (0) | 2012.07.29 |
object클래스 (0) | 2012.07.29 |
제너릭 (0) | 2012.07.29 |
collection값 빼오기 (0) | 2012.07.28 |