그만큼 Java의 래퍼 클래스 메커니즘을 제공합니다 프리미티브를 객체로, 객체를 프리미티브로 변환하려면 .
J2SE 5.0 이후, 오토박싱 그리고 언박싱 기능은 프리미티브를 객체로, 객체를 프리미티브로 자동 변환합니다. 프리미티브를 객체로 자동 변환하는 것을 오토박싱(autoboxing)이라고 하며 그 반대의 경우도 언박싱(unboxing)이라고 합니다.
Java에서 래퍼 클래스 사용
Java는 객체 지향 프로그래밍 언어이므로 컬렉션, 직렬화, 동기화 등과 같이 객체를 여러 번 처리해야 합니다. 래퍼 클래스를 사용해야 하는 다양한 시나리오를 살펴보겠습니다.
리눅스 디렉토리 이름 바꾸는 방법
8개의 클래스는 java.lang 패키지는 Java에서 래퍼 클래스로 알려져 있습니다. 8개의 래퍼 클래스 목록은 다음과 같습니다.
기본 유형 | 래퍼 클래스 |
---|---|
부울 | 부울 |
숯 | 성격 |
바이트 | 바이트 |
짧은 | 짧은 |
정수 | 정수 |
긴 | 긴 |
뜨다 | 뜨다 |
더블 | 더블 |
오토박싱
기본 데이터 유형을 해당 래퍼 클래스로 자동 변환하는 것을 오토박싱이라고 합니다(예: byte를 Byte로, char를 Character로, int를 Integer로, long을 Long으로, float를 Float로, boolean을 Boolean으로, double을 Double로, short) 짧게.
Java 5부터는 기본 요소를 객체로 변환하기 위해 래퍼 클래스의 valueOf() 메서드를 사용할 필요가 없습니다.
래퍼 클래스 예: 원시에서 래퍼로
//Java program to convert primitive into objects //Autoboxing example of int to Integer public class WrapperExample1{ public static void main(String args[]){ //Converting int into Integer int a=20; Integer i=Integer.valueOf(a);//converting int into Integer explicitly Integer j=a;//autoboxing, now compiler will write Integer.valueOf(a) internally System.out.println(a+' '+i+' '+j); }}
산출:
자바 정수를 문자열로
20 20 20
언박싱
래퍼 유형을 해당 기본 유형으로 자동 변환하는 것을 언박싱이라고 합니다. 오토박싱의 반대 과정입니다. Java 5부터는 래퍼 유형을 기본 형식으로 변환하기 위해 래퍼 클래스의 intValue() 메서드를 사용할 필요가 없습니다.
패딩 CSS
래퍼 클래스 예: 래퍼에서 프리미티브로
//Java program to convert object into primitives //Unboxing example of Integer to int public class WrapperExample2{ public static void main(String args[]){ //Converting Integer to int Integer a=new Integer(3); int i=a.intValue();//converting Integer to int explicitly int j=a;//unboxing, now compiler will write a.intValue() internally System.out.println(a+' '+i+' '+j); }}
산출:
3 3 3
Java 래퍼 클래스 예
//Java Program to convert all primitives into its corresponding //wrapper objects and vice-versa public class WrapperExample3{ public static void main(String args[]){ byte b=10; short s=20; int i=30; long l=40; float f=50.0F; double d=60.0D; char c='a'; boolean b2=true; //Autoboxing: Converting primitives into objects Byte byteobj=b; Short shortobj=s; Integer intobj=i; Long longobj=l; Float floatobj=f; Double doubleobj=d; Character charobj=c; Boolean boolobj=b2; //Printing objects System.out.println('---Printing object values---'); System.out.println('Byte object: '+byteobj); System.out.println('Short object: '+shortobj); System.out.println('Integer object: '+intobj); System.out.println('Long object: '+longobj); System.out.println('Float object: '+floatobj); System.out.println('Double object: '+doubleobj); System.out.println('Character object: '+charobj); System.out.println('Boolean object: '+boolobj); //Unboxing: Converting Objects to Primitives byte bytevalue=byteobj; short shortvalue=shortobj; int intvalue=intobj; long longvalue=longobj; float floatvalue=floatobj; double doublevalue=doubleobj; char charvalue=charobj; boolean boolvalue=boolobj; //Printing primitives System.out.println('---Printing primitive values---'); System.out.println('byte value: '+bytevalue); System.out.println('short value: '+shortvalue); System.out.println('int value: '+intvalue); System.out.println('long value: '+longvalue); System.out.println('float value: '+floatvalue); System.out.println('double value: '+doublevalue); System.out.println('char value: '+charvalue); System.out.println('boolean value: '+boolvalue); }}
산출:
---Printing object values--- Byte object: 10 Short object: 20 Integer object: 30 Long object: 40 Float object: 50.0 Double object: 60.0 Character object: a Boolean object: true ---Printing primitive values--- byte value: 10 short value: 20 int value: 30 long value: 40 float value: 50.0 double value: 60.0 char value: a boolean value: true
Java의 사용자 정의 래퍼 클래스
Java 래퍼 클래스는 기본 데이터 유형을 래핑하므로 래퍼 클래스라고 합니다. 기본 데이터 유형을 래핑하는 클래스를 만들 수도 있습니다. 따라서 Java로 사용자 정의 래퍼 클래스를 만들 수 있습니다.
//Creating the custom wrapper class class Javatpoint{ private int i; Javatpoint(){} Javatpoint(int i){ this.i=i; } public int getValue(){ return i; } public void setValue(int i){ this.i=i; } @Override public String toString() { return Integer.toString(i); } } //Testing the custom wrapper class public class TestJavatpoint{ public static void main(String[] args){ Javatpoint j=new Javatpoint(10); System.out.println(j); }}
산출:
10