은은하게 코드 뿌시기

자바 JAVA 래퍼클래스 (wrapper) 본문

자바/자바 기본

자바 JAVA 래퍼클래스 (wrapper)

은은하게미친자 2022. 6. 16. 13:18
728x90

*기본형 변수도 어쩔수 없이 객체로 다뤄야 하는 경우에 사용

  ex 기본형 값이 아닌 객체로 저장행 할때, 객체간의 비교가 필요할때

 

기본형  래퍼클래스  생성자  활용예
boolean  Boolean  Boolean (boolean value)
Boolean (String s) 
Boolean b = new Boolean(true);
Boolean b2 = new Boolean("true"); 
char  Character Character (char value)  Character c = new Character('a'); 
byte  Byte  Byte (byte value)
Byte (String s) 
Byte b = new Byte(10);
Byte b2 = new Byte("10"); 
short  Short  Short (short value)
Short (String s) 
Short s = new Short(10);
Short s2 = new Short("10"); 
int  Integer  Integer (int value)
Integer (String s)
Integer i = new Int(100);
Integer i2 = new Int("100"); 
long Long  Long (long value)
Long (String s)
Long l = new Long(100);
Long l2 = new Long("100"); 
float Float  Float (double value)
Float (float value)
Float (String s) 
Float f = new Float(1.0);
Float f2 = new Float(1.0f);
Float f3 = new Float("1.0f"); 
double Double Double (double value)
Double (String s)
Double d = new Double(1.0);
Double s2 = new Double("1.0");

래퍼 클래스들은 모드 equals()가 오버라이딩 되있어서 주소값이 아닌 객체가 가지고있는 값을 비교한다.

오토박싱이 된다고 해도 Integer객체에 비교 연산자를 사용 할 수 없다 . 대신 CompareTo()를 제공한다.

package kr.co.obj;

public class WrapperEx1 {

public static void main(String[] args) {

Integer i  = new Integer(100);
Integer i2 = new Integer(100);

System.out.println("i==i2 ? " + (i==i2));
System.out.println("i.equals(i2) ? " + i.equals(i2));
System.out.println("i.compareTo(i2) ? " + i.compareTo(i2));
System.out.println("i.toString()= " + i.toString());

System.out.println("MAX_VALUE="+ Integer.MAX_VALUE);
System.out.println("MIN_VALUE="+ Integer.MIN_VALUE);
System.out.println("SIZE="+ Integer.SIZE + "bits");
System.out.println("BYTE="+ Integer.BYTES + "bytes");
System.out.println("TYPE="+ Integer.TYPE);

}

}

실행결과

i==i2 ? false
i.equals(i2) ? true
i.compareTo(i2) ? 0
i.toString()= 100
MAX_VALUE=2147483647
MIN_VALUE=-2147483648
SIZE=32bits
BYTE=4bytes
TYPE=int
728x90
Comments