자바 패키지 클래스
3485 단어 자바
각종 대상 의 조작 에 대한 학습 은 역시 JDK 와 소스 코드 를 빌려 야 한다.여기 서 몇 가지 예 를 들 자.
1.모든 디지털 유형의 포장 류 는 이 유형의 최대 치 와 최소 치 를 밀봉 합 니 다.
Integer 를 예 로 들 면 Integer 의 소스 코드 에서:
4.567913.이 두 static final 의 속성 은 Integer 가 저장 할 수 있 는 데이터 의 크기 를 규정 했다.
2.편리 한 유형 변환 과 C++대비,예 를 들 어 C++에서 int 와 String 으로 변환 할 때 stringstream 대상 을 사용 하거나 라 이브 러 리 함수(boost 라 이브 러 리 의 lexicalcast),
자바 의 포장 류 는 유형 변환 작업 을 봉인 했다.데이터 와 방법의 패 키 징 을 실 현 했 습 니 다.이것 이 바로 대상 을 대상 으로 하 는 장점 입 니 다.(여기 서도 C++JAVA 가 대상 을 대상 으로 하지 않 음 을 알 수 있 습 니 다)
int 와 String 의 상호 전환 을 예 로 들 면
int -> String
@Native public static final int MIN_VALUE = 0x80000000;
@Native public static final int MAX_VALUE = 0x7fffffff;
int i=12345;
String s="";
//
s=i+"";
//i Integer Integer.toString String + , 2 String
//
s=String.valueOf(i);
//String.valueOf(int i)
public static String valueOf(int i) {
return Integer.toString(i);
}
//String.valueOf() , Object Object.toString()
public static String valueOf(boolean b) {
return b ? "true" : "false";
}
public static String valueOf(Object obj) {
return (obj == null) ? "null" : obj.toString();
}
String -> int
3.최적화 기능(대상 풀)
사실 이 특징 은 가상 컴퓨터 의 특징 이 라 고 할 수 있 지만 대상 이 아니라면 가상 컴퓨터 도 이러한 최적화 기능 을 실현 할 수 없다.여기 서 사용 하 는 것 은 하나의 대상 풀 의 개념 이다.python 에 도 똑 같이 존재 한다.또한 잔소리 한 마디 는 python 에 비해 자바 의 기본 유형 은 대상(Object 를 계승 하지 않 음)이 아니 라 python 의 모든 대상 은 Object 를 계승 한다.
s="12345";
int i;
//
i=Integer.parseInt(s);
//Integer.parseInt() String int , :
//
public static int parseInt(String s, int radix){
......
}
public static int parseInt(String s) throws NumberFormatException {
return parseInt(s,10);
}
//
i=Integer.valueOf(s).intValue();
//
public static Integer valueOf(String s) throws NumberFormatException {
return Integer.valueOf(parseInt(s, 10));
}
//parseInt int , Integer.valueOf(int)
//Integer.intVaule Integer int 。
상 자 를 포장 하 는 것 이 바로 사용 하 는 value Of 임 을 알 수 있 습 니 다.상 자 를 뜯 는 것 은 intValue 입 니 다.(여 기 는 Integer 의 예 일 뿐 입 니 다)이것들 은 모두 컴 파일 러 의 작업 입 니 다.Integer.valueOf(3)를 진정 으로 실행 할 때 는 운행 기간 입 니 다.원본 코드 를 보십시오.
4.567913.Integer Cache 를 사 용 했 는데 이 IntergerCache 는 이른바 Integer 의 대상 지 이다.Integer Cache 는 Integer 의 static 내부 클래스 로 JVM 이 Integer 클래스 를 처음 불 러 올 때 Integer Cache 클래스 를 불 러 오고 Integer Cache 에 서 는 static 블록 을 사용 하여 초기 화 합 니 다.그래서 Integer 류 를 처음 불 러 왔 을 때 Integer Cache 류 가 초기 화 되 었 습 니 다.이 점 은 python 과 다른 python 의 작은 정수 탱크 가 가상 컴퓨터 내부 에 있 었 다 는 것 이다.
원본 코드 보기:
// :
Integer i = 3;
// :
Integer localInteger = Integer.valueOf(3);
원본 코드 에서 알 수 있 듯 이 Integer Cache 에 저 장 된 것 은-128~127 의 Integer 대상 이다.또한 Integer Cache 에서 private 구조 함수 에 주의 하 십시오.
본 고 는 Integer 류 를 자바 포장 류 학습 의 예 로 삼 아 기본 사상 은 비슷 하지만 각 유형 은 차이 가 있 습 니 다.처리 대상 이 다 르 기 때 문 입 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Is Eclipse IDE dying?In 2014 the Eclipse IDE is the leading development environment for Java with a market share of approximately 65%. but ac...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.