Integer — int 원시 타입을 감싸는 래퍼 클래스
Integer — int 원시 타입을 감싸는 래퍼 클래스
Integer는 원시 타입 int의 값을 객체로 감싸는 클래스예요. Integer 타입 객체는 타입이 int인 단일 필드를 담아요.
본문
또한 이 클래스는 int를 String으로, String을 int로 변환하는 여러 메서드와, int를 다룰 때 유용한 상수·메서드들을 제공해요.
이 클래스는 값 기반(value-based) 클래스예요. 프로그래머는 동등한 인스턴스를 서로 교환 가능하게 취급해야 하고, 인스턴스를 동기화에 사용하면 안 돼요 — 예측할 수 없는 동작이 생길 수 있어요. 예를 들어 미래 릴리스에서는 동기화가 실패할 수 있어요.
구현 노트: highestOneBit, numberOfTrailingZeros 같은 "bit twiddling" 메서드의 구현은 Henry S. Warren, Jr.의 Hacker's Delight (Addison Wesley, 2002) 내용을 바탕으로 해요.
상속 구조는 다음과 같아요.
java.lang.Object
java.lang.Number
java.lang.Integer
Serializable, Comparable<Integer>, Constable, ConstantDesc를 구현하는 final 클래스예요.
필드
static final int BYTES— 이진 2의 보수 형태로int값을 나타내는 데 쓰이는 바이트 수 (4).static final int MAX_VALUE—int가 가질 수 있는 최댓값, 2³¹-1.static final int MIN_VALUE—int가 가질 수 있는 최솟값, -2³¹. (그 외SIZE비트 수,TYPE클래스 등도 있어요.)
주요 메서드
parseInt(String s)— 문자열 인자를 부호 있는 십진int로 파싱해요 (기수 지정 버전도 있어요).valueOf(int)·valueOf(String)— 지정된int값이나 문자열을 나타내는Integer인스턴스를 반환해요.toString(int)·toString()—int값을 문자열로 변환해요.int intValue()—Number로부터 상속된, 이Integer의 값을int로 반환해요.int compareTo(Integer anotherInteger)— 두Integer값을 숫자로 비교해요.boolean equals(Object obj)— 이 객체를 다른 객체와 비교해요.String toHexString(int)·toOctalString(int)·toBinaryString(int)— 값을 각각 16진·8진·2진 문자열로 변환해요.int highestOneBit(int)·int lowestOneBit(int)— 값에서 가장 높은/낮은 1비트만 남긴 값을 반환해요.int bitCount(int)— 값의 2의 보수 표현에서 1인 비트의 개수를 반환해요.int numberOfLeadingZeros(int)·int numberOfTrailingZeros(int)— 앞/뒤쪽의 0비트 개수를 반환해요.int rotateLeft(int, int)·int rotateRight(int, int)— 값을 지정된 비트 수만큼 회전해요.
캐싱: valueOf는 자주 쓰이는 값(-128~127)에 대해 캐시된 인스턴스를 반환해서 성능을 높여 줘요.