패키지 클래스(Java)

9559 단어 Java자바
포장 류
JAVA 는 단순히 대상 을 향 한 언어 가 아니다.자바 언어 는 대상 을 대상 으로 하 는 언어 이지 만 자바 의 기본 데이터 형식 은 대상 을 대상 으로 하지 않 습 니 다.그러나 우 리 는 실제 사용 에서 기본 데 이 터 를 대상 으로 바 꾸 어 조작 하기에 편리 하도록 해 야 한다.
예 를 들 어 집합 작업 중.예 를 들 어 Map 대상 이 put()방법 을 조작 하려 면 기본 데이터 형식 이 아 닌 대상 이 들 어 와 야 합 니 다.이 부족 함 을 해결 하기 위해 디자인 클래스 에서 모든 기본 데이터 유형 에 대응 하 는 클래스 를 설계 하여 대표 한다.이렇게 8 개 와 기본 데이터 유형 에 대응 하 는 클래스 를 포장 클래스(Wrapper Class)라 고 통칭 한다.
포장 류 는 모두 java.lang 패키지 에 위치 하고 포장 류 와 기본 데이터 유형의 대응 관 계 는 다음 과 같다.
기본 데이터 형식
포장 류
byte
Byte
short
Short
int
Integer
long
Long
float
Float
double
Double
char
Character
boolean
Boolean
int 가 Integer 대상 으로 전환
Integer int1 = new Integer(10);   //     
// jdk9       Integer int2 = Integer.valueOf(20); 

//      
Integer int1 = 10;

Integer 대상 이 int 로 전환
Integer int1 = 10;
int a = int1.intValue(); 

//      
int a = int1

문자열 이 Integer 대상 으로 바 뀌 었 습 니 다.
 Integer int3 = Integer.parseInt("334"); 
 Integer int4 = new Integer("999");    //     

Integer 대상 문자열 로 변환
String str1 = int3.toString(); 

일반적인 int 유형 과 관련 된 상수
System.out.println("int        :"+Integer.MAX_VALUE);
//     :
int2147483647

자동 포장 및 해체
자동 포장 과정:하나의 유형의 대상 이 필요 할 때마다 이러한 기본 유형 은 자동 으로 그것 과 같은 유형의 포장 에 봉 인 됩 니 다.
자동 으로 상 자 를 뜯 는 과정:값 이 필요 할 때마다 포장 대상 의 값 을 자동 으로 추출 합 니 다.intValue()와 doubleValue()방법 을 호출 할 필요 가 없습니다.
자동 으로 상 자 를 포장 하고 뜯 는 기능 은 사실상 컴 파 일 러 가 당신 을 도와 주 는 것 입 니 다.컴 파 일 러 는 컴 파 일 러 시기 에 당신 이 작성 한 문법 에 따라 상 자 를 포장 하거나 뜯 는 동작 을 할 지 여 부 를 결정 합 니 다.
자동 포장 및 분해 주의 점:
그래서 자동 으로 포장 하고 상 자 를 뜯 는 기능 은 이른바'컴 파일 러 꿀'(Compiler Sugar)입 니 다.이 기능 을 사용 하 는 것 이 편리 하지만 프로그램 실행 단계 에서 자바 의 의 미 를 알 아야 합 니 다.예 를 들 어 아래 프로그램 은 컴 파일 할 수 있 습 니 다.
Integer i = null; 
int j = i; 

이러한 문법 은 컴 파일 시기 에 합 법 적 이지 만 운영 시기 에 오류 가 있 을 수 있 습 니 다.왜냐하면 이런 문법 은 다음 과 같 기 때 문 입 니 다.
Integer i = null; 
int j = i.intValue();

null 은 i 가 대상 의 실 체 를 참고 하지 않 았 음 을 표시 합 니 다.대상 에 게 참고 이름 을 합 법 적 으로 지정 할 수 있 습 니 다.실제 i 는 어떠한 대상 도 참고 하지 않 았 기 때문에 intValue()방법 을 조작 할 수 없습니다.이러한 위의 쓰기 방법 은 실행 할 때 NullPointer Exception 오류 가 발생 할 수 있 습 니 다.
캐 시
자동 으로 상 자 를 풀 때-128-127 사이 의 값 에 대해 컴 파일 러 는 기본 형식 으로 처리 합 니 다.
public class test2 {
     
    public static void main(String[] args) {
     
        System.out.println("------        --------");
        Integer a1 = 127;
        Integer a2 = 127;
        Integer a3 = new Integer(127);
        System.out.println(a1==a2);
        System.out.println(a2==a3);

        System.out.println("------        --------");
        Integer a4 = 128;
        Integer a5 = 128;
        Integer a6 = new Integer(127);
        System.out.println(a4==a5);
        System.out.println(a5==a6); 
  
    }
}
//    :
------        --------
true
false
------        --------
false
false

좋은 웹페이지 즐겨찾기