Computer >> 컴퓨터 >  >> 프로그램 작성 >> Java

Java 9의 JShell에서 래퍼 개체를 만드는 방법은 무엇입니까?


기본 유형 Java에는 해당 내장 래퍼가 있습니다. 클래스이며 이러한 래퍼 클래스도 불변합니다. . 정수, 부동 소수점, Double, 바이트, 등은 내장 래퍼 클래스 중 일부입니다. 코드에서 이러한 래퍼를 사용하는 주된 동기는 유형 정보에 액세스하는 것입니다. 해당하는 기본 유형에 대해 Auto-Boxing 기본 데이터가 자동으로 객체 참조 유형으로 승격되는 기능과 데이터 구조 주변에서 기본 유형 데이터를 이동하는 기능입니다.

래퍼 클래스 인스턴스를 만들 수 있습니다. 를 사용하여 연산자를 사용하고 valueOf()도 사용합니다. 정수 와 같은 유형 내의 메소드 래퍼 개체 만들기 . Integer.valueOf() 메소드는 힙에서 동일한 값을 가진 기존 Integer 객체를 재사용합니다. 힙에 동일한 값을 가진 개체가 있으면 기존 개체에 대한 참조를 반환하고, 그렇지 않으면 새로 생성된 Integer 개체의 참조를 반환합니다.

아래 코드 스니펫에서 JShell 도구에서 래퍼 객체를 생성할 수 있습니다.

스니펫-1

jshell> Integer int1 = new Integer(10);
int1 ==> 10

jshell> Integer int2 = new Integer(10);
int2 ==> 10

jshell> Integer int3 = Integer.valueOf(10);
int3 ==> 10

jshell> Integer int4 = Integer.valueOf(10);
int4 ==> 10

jshell> int1 == int2;
$7 ==> true

jshell> int3 == int4;
$8 ==> true

스니펫-2

jshell> Integer abc1 = Integer.valueOf(700);
abc1 ==> 700

jshell> Integer abc2 = 700;
abc2 ==> 700

jshell> Integer abc3 = 700;
abc3 ==> 700

jshell> abc2 == abc3
$4 ==> false

jshell> Integer.MAX_VALUE
$5 ==> 2147483647

jshell> Integer.MIN_VALUE
$6 ==> -2147483648

jshell> Integer.SIZE
$7 ==> 32

jshell> Integer.BYTES
$8 ==> 4