Wrapper 클래스는 java.lang 라이브러리의 중요한 클래스입니다. 래퍼 클래스 객체는 기본 데이터 유형에 대한 래퍼를 생성합니다. 래퍼 클래스의 객체를 생성하는 동안 기본 데이터 유형이 저장되는 메모리에 공간이 생성됩니다. 래퍼 클래스는 객체를 기본 데이터로, 기본 데이터를 객체로 변환하는 몇 가지 기능(예: boxing/unboxing)을 제공합니다. 객체에서 원시 데이터로, 원시 데이터에서 객체로의 변환은 자동으로 이루어집니다. 원시 데이터 유형은 int, float, char, double, byte 등을 의미합니다.
무료 소프트웨어 개발 과정 시작
웹 개발, 프로그래밍 언어, 소프트웨어 테스팅 등
구문:
아래 선언은 Java 프로그램에서 Wrapper 클래스가 작동하는 방식을 보여줍니다.
예:
int i = 100;
아래 예시에서 i는 정수 데이터 유형임을 알 수 있습니다. 때때로 Java에서는 정수를 객체 유형으로 전달해야 합니다. 이 경우 래퍼 클래스를 사용하여 정수를 객체로 변환할 수 있습니다.
코드:
Integer intVal = new Integer(i);
위의 구문에서 Integer 클래스 객체를 사용하여 기본 데이터 유형이 객체로 변환되는 방식을 확인할 수 있습니다. 또한, 원시 데이터 유형을 객체로 래핑한다고 할 수 있습니다.
아래에는 래퍼 클래스의 몇 가지 용도가 나와 있습니다.
JavaAPI를 기반으로 하는 Wrapper 클래스 계층 구조는 Object를 다양한 기본 클래스의 최상위에 유지합니다. 숫자, 문자 및 부울은 객체 바로 다음의 두 번째 수준에 있습니다. Byte, Short, Int, Long, Float, Double은 세 번째 수준의 Number 데이터 유형에 속합니다.
래퍼 클래스는 데이터 유형의 변환/래핑 또는 객체를 기본 데이터 유형으로 변환하기 위해 다음 두 가지 메커니즘인 Autoboxing과 unboxing을 사용합니다.
다음은 Java에서 래퍼 클래스의 다양한 예입니다.
아래 예시에서는 래퍼 클래스를 통해 int i에서 객체 k로 수동 변환이 어떻게 이루어지는지 확인할 수 있습니다.
코드:
import java.util.*; class WrapperExample { public static void main(String args[]){ int j=100; //converting int j to integer k as an object Integer k = new Integer(j); System.out.println(j + "\n" + k); } }
출력:
위의 예에서 변환이 명시적으로 어떻게 이루어지는지 확인할 수 있습니다.
아래 예에서는 이러한 변환 프로세스가 자동으로 발생하는 경우가 있습니다. 즉, 오토박싱이라고 합니다.
코드:
import java.util.*; class AutoboxingUnboxingExample { public static void main(String args[]){ int j = 500; ArrayList<Integer> arrValues = new ArrayList(); arrValues.add(j); // autoboxing takes place implicitly System.out.println(arrValues.get(0)); } }
출력:
위의 예에서는 int 값이 객체로서 암시적으로 객체로 변환됩니다. 또한 이 값은 ArrayList에서 가져올 수 있습니다.
이번 예시에서는 Unboxing 구현을 살펴보겠습니다. 언박싱은 오토박싱의 역과정입니다.
코드:
import java.util.*; class AutoboxingUnboxingExample { public static void main(String args[]){ ArrayList<Integer> arrValues = new ArrayList(); arrValues.add(250); //unboxing here as int data type from Integer object int k = arrValues.get(0); //value printed is in primitive data type System.out.println(k); } }
출력:
위의 예에서 ArrayList 객체 필드는 k 기본 데이터 유형, 즉 int k로 변환됩니다.
The following given example have all the details of Autoboxing & Unboxing.
Code:
import java.util.*; class WrapperConversionExample { public static void main(String args[]){ int i = 15; float j = 9.6f; double k = 120.8; byte l = 1; //creating instance of Integer object Integer iObj = new Integer(i); //creating instance of Float object Float fObj = new Float(j); //creating instance of Double object Double dObj = new Double(k); //creating instance of Double object Byte bObj = new Byte(l); //value printed is in object System.out.println("Value as an Integer object > " + iObj); System.out.println("Value as a Float object > " + fObj); System.out.println("Value as a Double object > " + dObj); System.out.println("Value as a Byte object > " + bObj); //primitive data type from the object int m = iObj; float n = fObj; double o = dObj; byte p = bObj; //value printed is in primitive data type System.out.println("Value as an int primitive type > " + m); System.out.println("Value as a float primitive type > " + n); System.out.println("Value as a double primitive type > "+ o); System.out.println("Value as a byte primitive type > " + p); } }
Output:
In the above-given program, we can see the implementation of Wrapper classes. Wrapper classes are converting the primitive data type to object & object to the primitive data type. The wrapper class provides separate classes for each primitive data type.
Through the Wrapper classes, we can easily understand autoboxing & unboxing how conversion takes place from primitive to object & its vice versa, which can be easily understood through Wrapper classes. For each of the primitive data types, there is a dedicated class in java.
위 내용은 Java의 래퍼 클래스의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!