Java의 원시 래퍼 클래스
Primitive wrapper class in Java오브젝트 지향 프로그래밍에서 래퍼 클래스는 타입을 캡슐화하는 클래스입니다.이러한 타입을 사용하여 오브젝트인스턴스와 그 타입을 필요로 하는 메서드를 다른 클래스에 작성할 수 있습니다.따라서 primitive wrapper 클래스는 8개의 primitive 데이터 [1]유형에서 데이터 유형을 캡슐화, 숨기거나 래핑하는 래퍼 클래스입니다.이러한 클래스는 다른 클래스 또는 다른 [2][3]클래스의 메서드를 사용하여 인스턴스화된 개체를 만드는 데 사용할 수 있습니다.기본 래퍼 클래스는 Java API에 있습니다.
Primitive 래퍼 클래스는 Primitive 래퍼 클래스가Object원형을 나타낼 필요가 있다Collection(Java API의 경우 등)의 클래스,java.util패키지 및 내부java.lang.reflect 리플렉션 패키지컬렉션 클래스는 배열과 같은 데이터 구조가 int, double, long 또는 char 등의 원시 데이터 유형을 저장하는 것과 유사한 방식으로 개체를 저장할 수 있는 Java API 정의 클래스입니다. 그러나 어레이는 원시 데이터 유형을 저장하는 반면 컬렉션은 실제로 개체를 저장합니다.[2]
원시 래퍼 클래스와 대응하는 원시 유형은 다음과 같습니다.
원시형 래퍼 클래스 생성자 인수 byteBytebyte또는StringshortShortshort또는StringintIntegerint또는StringlongLonglong또는StringfloatFloatfloat,double또는StringdoubleDoubledouble또는StringcharCharactercharbooleanBooleanboolean또는String
래퍼 클래스와 원시 유형의 차이
원시 래퍼 클래스는 원시 유형과 다릅니다.예를 들어 Java에서는 double, short, int 등으로 변수를 선언할 수 있지만 원시 래퍼 클래스는 데이터 유형 [2]값을 할당하는 변수와 달리 원시 데이터 유형을 상속하지만 숨기는 인스턴스화된 개체 및 메서드를 생성합니다.
따라서 원시 래퍼 클래스라는 용어는 래퍼 클래스가 원시 유형이라는 것을 의미하지 않습니다.원시형을 랩하는 클래스로 이해해야 합니다.래퍼 클래스는 원시 유형 변수와 동일한 값을 저장하는 데 사용할 수 있지만 래퍼 클래스의 인스턴스/개체 자체는 Non-Primitive입니다.Wrapper 클래스 자체가 Privitive 타입이라고는 할 수 없습니다.그들은 원시적인 유형들을 싸매고 있을 뿐이다.
그Byte,Short,Integer,Long,Float,그리고.Double래퍼 클래스는 모든 서브클래스입니다.Number학급.
래퍼 클래스BigDecimal그리고.BigInteger 원시 래퍼 클래스 중 하나가 아니지만 [4][5]불변합니다.
원자성 래퍼 클래스
Java 5.0에서는 추가 래퍼 클래스가 에 도입되었습니다.java.util.concurrent.atomic패키지.이러한 클래스는 변경 가능하며 일반 래퍼 클래스의 대체로 사용할 수 없습니다.대신 추가, 증가 및 할당을 위한 원자 연산을 제공합니다.
원자성 래퍼 클래스와 대응하는 유형은 다음과 같습니다.
원시형 래퍼 클래스 intAtomicIntegerlongAtomicLongbooleanAtomicBooleanVAtomicReference<V>
그AtomicInteger그리고.AtomicLong클래스는 의 서브클래스입니다.Number수업.AtomicReferenceclass는 type 파라미터를 받아들입니다. V오브젝트 참조의 유형을 지정합니다.(Java의 유형 매개 변수에 대한 설명은 "Java의 일반"을 참조하십시오). V
「 」를 참조해 주세요.
레퍼런스
- ^ S. J. 채프먼, Prentice Hall, Java 소개, 1999.
- ^ a b c J. Murach, Murach's Java Programming, 제4판, Mike Murach and Associates, Inc, 2011.
- ^ J. R. Hubbard, Java를 사용한 프로그래밍, Schaum's Outline Series/McGraw Hill, 1998.
- ^ David O'Meara (April 2003). "Mutable and Immutable Objects: Which classes are Immutable?". Java Ranch. Retrieved 2012-05-14.
The classes java.math.BigInteger and BigDecimal are not immutable either, although maybe they should have been.
- ^ Oracle. "Java documentation from oracle".
Immutable arbitrary-precision integers.