Java의 래퍼 클래스는 무엇입니까? 래퍼 클래스를 사용하여 기본 데이터 유형을 작동하는 방법(22)

Java의 래퍼 클래스는 원시 데이터 유형(예: int, double, char 등)을 객체로 래핑하는 데 사용되는 특수 클래스입니다. 래퍼 클래스의 기능은 일반 클래스 또는 메서드에 매개 변수로 전달, 개체의 메서드 호출, 컬렉션에 저장 등과 같이 기본 데이터 유형이 개체의 특성을 갖도록 만드는 것입니다. .

Java는 다음 표와 같이 각 기본 데이터 유형에 해당하는 래퍼 클래스를 제공합니다.

기본 데이터 유형 포장
바이트 바이트
짧은 짧은
정수 정수
뜨다 뜨다
더블 더블
성격
부울 부울

래퍼 클래스를 사용하려면 먼저 래퍼 클래스의 개체를 만들어야 합니다. 래퍼 클래스의 개체를 만드는 방법에는 두 가지가 있습니다. 하나는 생성자를 사용하는 것이고 다른 하나는 정적 메서드인 valueOf를 사용하는 것입니다. 예를 들어 다음은 Integer 객체를 만드는 두 가지 방법입니다.

// 使用构造方法
Integer i1 = new Integer(10); // 创建一个值为 10 的 Integer 对象
// 使用静态方法 valueOf
Integer i2 = Integer.valueOf(20); // 创建一个值为 20 的 Integer 对象

래퍼 클래스의 개체가 생성된 후 래퍼 클래스의 메서드를 사용하여 기본 데이터 유형을 조작할 수 있습니다. 래퍼 클래스는 다음 표와 같이 일반적으로 사용되는 몇 가지 메서드를 제공합니다.

메서드 이름 설명하다
정수 값 객체에 해당하는 int 값을 반환합니다.
이중값 객체에 해당하는 double 값을 반환합니다.
charValue 객체에 해당하는 char 값을 반환합니다.
부울 값 객체에 해당하는 부울 값을 반환합니다.
비교 대상 이 개체의 크기를 다른 개체와 비교하여 음수, 0 또는 양수를 반환합니다.
같음 이 개체가 다른 개체와 같은지 여부를 결정합니다.
이 객체의 문자열 표현을 반환합니다.
구문 분석XXX 문자열을 parseInt, parseDouble 등과 같은 해당 기본 데이터 유형으로 구문 분석합니다.
기본 데이터 유형 또는 문자열을 해당 래퍼 클래스 객체로 변환

예를 들어 다음은 래퍼 클래스 메서드를 사용하는 몇 가지 예입니다.

// 使用 intValue 方法
int i3 = i1.intValue(); // 将 i1 对象转换成 int 值
System.out.println(i3); // 输出 10

// 使用 compareTo 方法
int i4 = i1.compareTo(i2); // 比较 i1 和 i2 的大小
System.out.println(i4); // 输出 -1

// 使用 parseDouble 方法
double d1 = Double.parseDouble("3.14"); // 将字符串 "3.14" 解析成 double 值
System.out.println(d1); // 输出 3.14

// 使用 valueOf 方法
Boolean b1 = Boolean.valueOf(true); // 将 boolean 值 true 转换成 Boolean 对象
System.out.println(b1); // 输出 true

래퍼 클래스의 메서드를 사용하는 것 외에도 autoboxing 및 autounboxing을 사용하여 코드를 단순화할 수 있습니다. 자동 박싱은 기본 데이터 유형을 해당 패키징 개체로 자동 변환하는 것을 말하며, 자동 언박싱은 패키징 개체를 해당 기본 데이터 유형으로 자동 변환하는 것을 말합니다. 예를 들어 다음은 autoboxing 및 autounboxing을 사용하는 몇 가지 예입니다.

// 自动装箱
Integer i5 = 30; // 相当于 Integer i5 = Integer.valueOf(30);
Double d2 = 3.14; // 相当于 Double d2 = Double.valueOf(3.14);

// 自动拆箱
int i6 = i5; // 相当于 int i6 = i5.intValue();
double d3 = d2; // 相当于 double d3 = d2.doubleValue();

// 自动装箱和自动拆箱可以用在运算中

추천

출처blog.csdn.net/Dakaring/article/details/130520644