1. Java7
타입추론
List<String> list = new ArrayList<>();
이진수 리터럴, 숫자 리터럴에 _ 지원
Switch문 문자열 가능
try-with-resources 문 : AutoCloseable 인터페이스를 구현하는 클래스에 속하는 경우 다음과 같은 코드 패턴에 대한 단축 기능을 제공한다.
//JAVA 7 이전
//리소스를 연다
try {
리소스를 이용해 작업한다.
}
finally {
리소스를 닫는다.
}
//JAVA 7 이후
try (Resource res = ...) {
res를 이용해 작업한다.
}
//여러 리소스를 지정할 수 있다.
try (Scanner in = new Scanner(Paths.get("/usr/share/dict/words"));
PrintWriter out = new PrintWriter("/tmp/out.txt")) {
while (in.hasNext()) {
out.println(in.next().toLowerCase());
}
}
여러 예외 잡기
try {
//예외를 던질 수 있는 코드
}
catch (FileNotFoundException | UnknownHostException ex) {
//파일 누락 및 알려지지 않은 호스트에 대한 긴급 액션
}
catch (IOException ex) {
//그 외의 모든 I/O 문제에 대한 긴급 액션
}
2. Java8
32비트를 지원하는 마지막 공식 버전
Lambda
Stream
Default Method
LocalDate, LocalTime
Optional
3. Java9
default GC : G1GC
Module System
Collections of(불변)
List<String> list1 = List.of("a", "b");
Jshell 추가
try-with-resources 향상
// try() block 밖에 선언된 변수에 대해서는 try-with-resources 사용불가능했으나 java9부터 가능
// BufferedReader is declared outside try() block
BufferedReader br = new BufferedReader(new FileReader("C://readfile/input.txt"));
// Java 9 make it simple
try (br) {
String line;
while (null != (line = br.readLine())) {
// processing each line of file
System.out.println(line);
}
} catch (IOException e) {
e.printStackTrace();
}
0 Comments:
댓글 쓰기