일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- airflow
- JavaScript
- docker
- PostgreSQL
- java
- Trino
- grafana
- CVAT
- kubernetes
- Kafka
- tcp
- CSV
- jvm
- Network
- zookeeper
- kubectl
- Python
- ip
- aws s3
- AWS
- Packet
- EC2
- Vision
- kubeadm
- helm
- OS
- Operating System
- Spring
- MAC address
- log
Archives
- Today
- Total
JUST WRITE
Wrapper Class 본문
Wrapper Class
Java에서 Primitive Type을 Object처럼 써야 될 경우가 있다.
이때 사용하는 Class가 Wrapper Class이다.
Wrapper Class는 java.lang 패키지에 속해 있어 따로 import 하지 않아도 된다.
Primitive Type | Wrapper Class |
char (16bit and unsigned) | Character |
byte (8bit and signed) | Byte |
short (16bit and signed) | Short |
int (32bit and signed) | Integer |
long (64bit and signed) | Long |
float (32bit and signed) | Float |
double (64bit and signed) | Double |
boolean (only true or false) | Boolean |
Primitive Type을 Object로 활용할 경우는 대표적으로 아래 2가지 경우이다.
- Generic Class에서 Primitive Type을 사용할 경우
- Java Collection에서 Primitive Type을 사용할 경우
Primitive Type / Wrapper Class 변환
Primitive Type에서 대응하는 Wrapper Class로 변환하는 방법은 2가지이다.
constructor를 이용하거나 factory method를 이용한다.
Java 9에서 constructor를 이용한 변환은 deprecated 되었다.
따라서 앞으로는 factory method를 활용해서 변환하는 것을 추천한다.
// constructor
Integer object = new Integer(1);
// factory method
Integer anotherObject = Integer.valueOf(1);
반대로 Wrapper Class에서 대응하는 Primitive Type으로 변환하는 Method가 있다.
int val = object.intValue();
Autoboxing and Unboxing
Java 5부터 Autoboxing과 Unboxing을 제공한다.
Method를 굳이 사용 안 해도 상황에 맞게 자동으로 대응하는 Type과 Class간 변환을 해준다.
boxing | Primitive Type -> Wrapper Class 로 변환 |
unboxing | Wrapper Class -> Primitive Type 로 변환 |
List<Integer> list = new ArrayList<>();
list.add(1); // autoboxing
Integer val = 2; // autoboxing
Integer value = Integer.valueOf(2); // boxing, Method활용, auto X
Integer object = new Integer(1);
int val1 = getSquareValue(object); //unboxing
int val2 = object; //unboxing
public static int getSquareValue(int i) {
return i*i;
}
[참고사이트]
728x90
반응형
'Programing > Java' 카테고리의 다른 글
StringBuilder vs StringBuffer (0) | 2021.09.30 |
---|---|
Immutable Objects (0) | 2021.09.25 |
Static (0) | 2021.09.24 |
접근 제어자 (0) | 2021.08.26 |
OOP (0) | 2021.08.25 |
Comments