Devoxx 컨퍼런스는 며칠 전에 끝났습니다. 참석자는 Java 7의 중요한 변경 사항에 대해 다음과 같이 요약했습니다.
1. 컬렉션 지원
자바 코드 1.List list = new ArrayList();
2.list.add("항목");
3.문자열 항목 = list.get(zero);
4.
5.세트 세트 = new HashSet();
6.set.add("항목");
7.
8.지도 맵 = new HashMap();
9.map.put("키", 1);
10.int value = map.get("key");
목록 목록 = new ArrayList();
list.add("항목");
문자열 항목 = list.get(zero);
설정 세트 = new HashSet();
set.add("항목");
지도 맵 = new HashMap();
map.put("키", 하나);
int value = map.get("key"); 이제 다음을 수행할 수 있습니다.
자바 코드 1.목록 목록 = ["항목"];
2. 문자열 항목 = list[zero];
3.
4.세트 세트 = {"항목"};
5.
6.지도 map = {"키" : 하나};
7.int 값 = map["키"];
목록 목록 = ["항목"];
문자열 항목 = 목록[제로];
세트 = {"항목"};
지도 맵 = {"키" : 하나};
int 값 = map["key"];
2. 자동 자원 관리
자바 코드 1.BufferedReader br = new BufferedReader(new FileReader(path));
2. 시도 {
3. br.readLine()을 반환합니다.
4.} 마침내 {
5.br.close();
6.}
BufferedReader br = new BufferedReader(new FileReader(경로));
노력하다 {
br.readLine()을 반환합니다.
} 마지막으로 {
br.닫기();
}
다음과 같이 됩니다:
Java 코드 1.try (BufferedReader br = new BufferedReader(new FileReader(path)) {
2. br.readLine()을 반환합니다.
3.}
4.
5. 종료할 리소스를 두 개 이상 선언할 수 있습니다.
6.
7.시도해 보세요(
8. 입력스트림 입력 = new FileInputStream(src);
9. OutputStream 출력 = 새로운 FileOutputStream(dest))
10.{
11. // 코드
12.}
try (BufferedReader br = new BufferedReader(new FileReader(path)) {
br.readLine()을 반환합니다.
}
종료할 리소스를 두 개 이상 선언할 수 있습니다.
노력하다 (
InputStream in = new FileInputStream(src);
OutputStream 출력 = 새로운 FileOutputStream(dest))
{
// 코드
}
3. 일반 예시 작성(다이아몬드) 발췌형 개선
자바 코드 1.Map> anagrams = new HashMap>();
Map> 철자 바꾸기 = new HashMap>();
다음과 같이 됩니다:
자바 코드 1.Map> anagrams = new HashMap<>();
Map> anagrams = new HashMap<>(); 4. 값에 밑줄을 긋을 수 있음
자바 코드 one.int one_million = one_000_000;
int one_million = one_000_000;
5. 스위치에 문자열을 사용할 수 있습니다.
자바 코드 1.String s = ...
2.스위치 {
3. "quux"의 경우:
4. processQuux(들);
5. // 추락
6.
7. "foo" 사례:
8. 케이스 "바":
9. processFooOrBar(s);
10. 휴식;
11.
12. 케이스 "baz":
13. 프로세스Baz(들);
14. // 추락
15.
16.기본값:
17. processDefault(들);
18. 휴식;
19.}
문자열 = ...
스위치 {
"quux"의 경우:
processQuux(들);
// 추락
케이스 "foo":
케이스 "바":
processFooOrBar(s);
부서지다;
케이스 "baz":
processBaz(들);
// 추락
기본:
processDefault(들);
부서지다;
}
6. 바이너리 리터럴
Java 코드 one.int 바이너리 = 0 b1001_1001;
int 바이너리 = 0 b1001_1001;
7. 가변 매개변수 단계 호출 단순화
프로그래머가 축소할 수 없는 가변 인수를 사용하려고 하고 *varargs*(변수) 단계를 호출할 때 편집기는 "안전하지 않은 작업" 경고를 생성합니다.