반응형
JDK의 버전별 변경사항은 이곳을 참고하세요.
특징과 일정은 JEP 2.0 draft에 의해 개정된 JEP 프로세스를 통해 관리된다.
Spec
Java SE 10 (18.3) Platform JSR (383) 에 정의된 바와 같이 JSR 383 구현이 목표
실제 Spec은 Final Release Specification 문서를 참고해야함
Final Release Specification Feature summary
전체 JEP Feature 목록은 OpenJDK의 JDK 10 문서로 확인할 수 있다.
Component |
Feature |
|
Core Libraries |
추가 유니코드 Language 태그 확장 |
|
시간 기반 릴리즈 버전 관리 |
||
Language |
지역 변수 Type 추론 |
Language Feature
Local-Variable Type Inference
JDK 9 포함 예정이었다가 JDK 10으로 미뤄져서 반영됨
var를 사용할 수 있게 됨.
var list = new ArrayList<String>(); // infers ArrayList<String>
var stream = list.stream(); // infers Stream<String>
val을 사용한 불변 변수 선언은 제공되지 않음
Type 추론을 해야하므로 초기 값이 반드시 설정되어야 함
Main.java:81: error: cannot infer type for local
variable x
var x;
^
(cannot use 'val' on variable without initializer)
Main.java:82: error: cannot infer type for local
variable f
var f = () -> { };
^
(lambda expression needs an explicit target-type)
Main.java:83: error: cannot infer type for local
variable g
var g = null;
^
(variable initializer is 'null')
Main.java:84: error: cannot infer type for local
variable c
var c = l();
^
(inferred type is non denotable)
Main.java:195: error: cannot infer type for local variable m
var m = this::l;
^
(method reference needs an explicit target-type)
Main.java:199: error: cannot infer type for local variable k
var k = { 1 , 2 };
^
(array initializer needs an explicit target-type)
반응형
'Study > Java' 카테고리의 다른 글
Spring Boot multi module, multi profile 환경에서 @PropertySouce 사용하기 (0) | 2018.12.10 |
---|---|
STS 4.0.0 이후 java, properties 에디터에서 ctrl + space (content assist) 가 동작하지않는 경우 (0) | 2018.12.06 |
Spring Boot Mongodb reactive 설정하기 (0) | 2018.12.03 |
빌드 시 constructor ... already defined in class 에러가 발생하는 경우 (0) | 2018.11.28 |
JDK 11 New Features (0) | 2018.11.22 |
JDK 9 New Features (0) | 2018.11.21 |
JCP JSR JEP에 대해 (0) | 2018.11.20 |
RestTemplate list 반환하기 (0) | 2018.11.16 |
자주 쓰는 spring util 기록 (0) | 2018.11.14 |
java Exception은 어떻게 사용하는게 좋을까? (0) | 2018.11.12 |