JDK 5.0 새로운 기능 소개
대 중 소
글 의 출처:http://java.xnuo.com/entry/016d86d49c1cee93244515f032fb9af1.html
'JDK 1.5' (개발 코드 맹호) 의 중요 한 주 제 는 일부 특성 을 추가 하여 개발 을 간소화 하 는 것 이다.
이러한 특성 은 범 형, for - each 순환, 자동 포장 / 뜯 기, 매 거 진, 가 변 매개 변수, 정적 가 져 오기 등 을 포함한다.
。이러한 기능 을 사용 하면 우리 가 더욱 뚜렷 하고 간결 하 며 안전 한 코드 를 만 드 는 데 도움 이 된다.
다음은 이 새로운 특성 들 을 간단하게 소개 하 겠 습 니 다.
1. 범용 (Generic)
C + + 템 플 릿 기술 을 통 해 집합 요소 유형 을 지정 할 수 있 으 며, 자바 는 1.5 이전 까지 대응 하 는 기능 이 없 었 습 니 다.
네.하나의 집합 은 어떤 유형의 대상 을 넣 을 수 있 으 며, 그 에 상응 하여 집합 에서 대상 을 가 져 올 때 우 리 는 어 쩔 수 없 이
그들 은 강제 적 인 유형 전환 을 진행 했다.맹 호 는 범 형 을 도입 했다. 집합 에 있 는 원소 의 유형 을 지정 할 수 있다. 그러면
컴 파일 할 때 강 한 유형 으로 유형 검 사 를 하 는 것 이 좋 습 니 다.
Collection c = new ArrayList();
c.add(new Date());
컴 파 일 러 가 오 류 를 줄 수 있 습 니 다:
add(java.lang.String) in java.util.Collection cannot be applied to
(java.util.Date)
2. For - each 순환
For - each 순환 은 집합 을 간소화 하 는 데 가입 해 야 합 니 다.만약 에 우리 가 집합 을 옮 겨 다 니 며 그 중의 요 소 를 넣 어야 한다 고 가정 하면
약간의 처 리 를 하 다.전형 적 인 코드 는:
void processAll(Collection c){
for(Iterator i=c.iterator(); i.hasNext();){
MyClass myObject = (MyClass)i.next();
myObject.process();
}
}
For - each 순환 을 사용 하면 코드 를 다음 과 같이 바 꿀 수 있 습 니 다.
void processAll(Collection c){
for (MyClass myObject :c)
myObject.process();
}
이 코드 는 위 보다 훨씬 뚜렷 하고 강제 유형 전환 을 피 했다.
3. 자동 포장 / 가방 뜯 기 (Autoboxing / unboxing)
자동 포장 / 가방 뜯 기 는 기본 유형의 데이터 와 포장 유형 에 따라 사용 하기에 매우 편리 하 다.
자동 포장: 기본 유형 은 자동 으로 포장 류 로 전 환 됩 니 다. (int > > Integer)
자동 패키지 뜯 기: 포장 류 는 자동 으로 기본 형식 으로 전 환 됩 니 다. (Integer > > int)
JDK 1.5 이전에 우 리 는 항상 집합 이 기본 유형 을 저장 할 수 없다 는 것 을 마음 에 두 었 는데, 지금 은 자동 으로 메커니즘 을 바 꾸 고 있다.
우리 의 문 제 를 해결 했다.
int a = 3;
Collection c = new ArrayList();
c.add(a);// Integer.
Integer b = new Integer(2);
c.add(b + 2);
여기 Integer 는 먼저 int 로 자동 으로 변환 하여 덧셈 연산 을 한 다음 int 를 다시 Integer 로 변환 합 니 다.
4. 매 거 (Enums)
JDK 1.5 는 새로운 유형의 '클래스' - 매 거 진 유형 을 추가 했다.이 를 위해 JDK 1.5 에 새로운 키 워드 를 도 입 했 습 니 다.
enmu. 우 리 는 이렇게 매 거 진 유형 을 정의 할 수 있 습 니 다.
public enum Color
{
Red,
White,
Blue
}
그리고 이렇게 Color my Color = Color. Red 를 사용 할 수 있 습 니 다.
매 거 유형 은 두 가지 유용 한 정적 방법 values () 와 valueOf () 를 제공 합 니 다. 우 리 는 편리 하 게
그것들 을 사용 하 다
for (Color c : Color.values())
System.out.println(c);
5. 가 변 매개 변수 (Varargs)
가 변 매개 변 수 는 프로그래머 로 하여 금 가 변 수 를 받 아들 이 는 방법 을 설명 할 수 있 게 한다.가 변 매개 변 수 는 반드시
함수 성명 의 마지막 인자 입 니 다.우리 가 간단 한 방법 으로 대상 을 인쇄 해 야 한다 고 가정 하면,
util.write(obj1);
util.write(obj1,obj2);
util.write(obj1,obj2,obj3);
…
JDK 1.5 이전에 우 리 는 과부하 로 실현 할 수 있 지만 이렇게 하려 면 많은 과부하 함 수 를 써 야 한다.
그다지 효과 가 없다.가 변 적 인 파 라 메 터 를 사용 하면 우 리 는 함수 하나만 있 으 면 됩 니 다.
public void write(Object... objs) {
for (Object obj: objs)
System.out.println(obj);
}
가 변 적 인 파 라 메 터 를 도입 한 후에 자바 의 반사 팩 도 더욱 편리 하 게 사용 할 수 있 게 되 었 다.... 에 대하 여
이제 우 리 는 이렇게 쓸 수 있다.
4. 567913. 이런 코드 는 원래 보다 많이 명확 해 졌 다.
6. 정적 가 져 오기 (정적 가 져 오기)
정적 구성원 (방법 과 변수) 을 사용 하려 면 이 방법 을 제공 하 는 종 류 를 제시 해 야 합 니 다.정적 가 져 오기 사용
가 져 온 클래스 의 모든 정적 변수 와 정적 방법 을 현재 클래스 에서 직접 볼 수 있 습 니 다. 이 정적 구성원 을 사용 할 필요 가 없습니다.
그들의 유형 을 다시 제시 하 다.
c.getMethod("test", new Object[0]).invoke(c.newInstance(), new
Object[0]))
그러나 이 특성 을 과도 하 게 사용 하면 코드 의 가 독성 을 어느 정도 낮 출 수 있다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 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에 따라 라이센스가 부여됩니다.