랩퍼클래스

2010. 10. 19. 00:03프로그래밍/Java

기본데이터형과 객체간의 데이터를 주고받을때 랩퍼클래스를 이용하여 주고받는다.

 랩퍼 클래스
 Character
 Byte
 Short
 Integer
 Long
 Float
 Double
 Boolean

ex)

int intval = 1; //int형 데이터

Integer wrapInt = new Interger(intval); //int형 데이터1로 만든 Integer형 객체

float floatval = wrapInt.floatValue(); //Integer형 객체를 float형으로 변환

String stringval = wrapInt.toString(); //Integer형 객체를 String형으로 변환


//String형을 int형으로 변환하는법

String stringval = "123";

Integer wrapInteger = Integer.valueOf(stringval); //String형 객체를 Integer형 객체로 변환

Int intval = wrapInteger.intValue(); //Integer형 객체를 int형으로 변환


*랩퍼클래스 객체는 레퍼런스 데이터형 이므로 값 비교시 == 연산자대신 equals메소드를 사용한다.

                                    x == y (X)                           x.equals(y) (O)

*자바에서는 파일이나 키보드 등에서 입력되는 스트림 데이터를 모두 String 형으로 본다.

 pareByte(String형 객체, r진법)

String형 객체의 값을 r진법으로 보고 

Byte형으로 변환

 parseShort(String형 객체, r진법)  

String형 객체의 값을 r진법으로 보고 

Short형으로 변환

 parseInt(String형 객체, r진법)  

String형 객체의 값을 r진법으로 보고 

Int형으로 변환

 parseLong(String형 객체, r진법)  

String형 객체의 값을 r진법으로 보고 

Long형으로 변환


ex)

String a = "11"

//변환 과정에서 에러가 발생할 수 있기 때문에 try-catch문으로 감싸준다.(예외처리구문)

try{

int b = Integer.parseInt (a, 2); //11을 2진수로보고 int형으로 변환 -> 결과값 : 3

int c = Integer.parseInt (a, 8); //11을 8진수로보고 int형으로 변환 -> 결과값 : 9

int d = Integer.parseInt (a) //11을 10진수로 보고 int형으로 변환 -> 결과값: 11

//parseInt를 쓸 때 10진수일때는 진법표시 생략가능

}catch (NumberFormatException e){

 System.out.println("ERROR: " + e);

}