태그
#JAVA
JAVA - wrapper
2021년 6월 16일 00:18

wrapper 클래스
-
기본 자료형을 클래스화 시킨 자료형
-
기본 자료형을 객체로 포장했다
-
기본 자료형 (primitive) : int, double, float, boolean...
-
참조 자료형 (reference) : int[], String, Integer, Double, Float, Boolean -> wrapper class or boxed class
<heap에 들어 있는 자료형 / 주소값이 있는 자료형>
- 기본 자료형 (primitive) 에 저장하기
int n1 = 5;
System.out.println(n1);
- 래퍼 클래스 (wrapper class) 에 저장하기
Integer n2 = 5;
System.out.println(n2);
- 래퍼 클래스 객체를 만들어 값 저장하기
Integer n3 = new Integer(5);
System.out.println(n3);
비교
Integer n4 = 5;
System.out.println(n1 == n2); // int - Integer : true => 값비교
System.out.println(n1 == n3); // int - new Integer : true => 값비교
System.out.println(n2 == n3); // Integer - new Integer : false => 주소비교
System.out.println(n2 == n4); // Integer = Integer : true => 주소비교 (주소값이 재활용되면 참이 나옴)
// 둘 다 래퍼 클래스면 .equals 로 비교하기
Integer num1 = new Integer(15);
Integer num2 = new Integer(15);
System.out.println(num1 == num2); // 주소가 같지 않다
System.out.println(num1.equals(num2));
wrapper 클래스 함수
System.out.println(Boolean.logicalXor(c, b));
System.out.println(Boolean.logicalAnd(c, b));
//or - 하나라도 참일 경우 : 참
//and - 둘 다 참이여야 참
System.out.println(Boolean.valueOf("true"));//근데 1은 안됨 해봄
//valueOf - 입력받은 인자의 값을 지정된 앞의 객체형으로 반환하여 반환
String.valueOf(5);// -> "5"
//valueOf - String은 어떤것을 넣든 String형으로 다 반환
//auto-boxing - 참조형변수에 일반 데이터를 넣으면 자동으로 객체화 시키는것
Boolean d = true;
System.out.println(d.toString());
//auto-unboxing - 일반 변수에 참조형 데이터를 넣으면 자동으로 일반 데이터로 변환 시키는것
boolean e = new Boolean("dfdf");
System.out.println(e);
[//e.toString](https://e.tostring/)()이 안되는 이유는 참조형이 아니기 때문에