LTSã¨ãªãJava17ãåºã¾ãããçµç¹ãä»å¾ãJavaã使ã£ã¦ããããã®è©¦éç³ã«ãªããã¼ã¸ã§ã³ã ã¨æãã¾ãã
å®éã®ã¨ãLTSã ããç¹å¥å®å®ãã¦ãã¨ããããªãã¨ã¯ãªãã¨æããã6ãã¼ã¸ã§ã³ï¼3å¹´ï¼ãã¨ã«LTSã«ããã£ã¦ã®ããã¶ãOracleãããè¨ã£ã¦ã¿ãã ãã§ãããããªã¨ããããã«ä¹ã£ãã£ã¦ããããå®è³ªçã«ç¯ç®ã«ãªã£ã¦ãã«éããªããã¯ãã ãã®ç¨åº¦ã®ãã®ãªãã ãã©ãç§ã®ãããªã®ã¯ä¹ã£ããã¾ããããã¶ã夿°æ´¾ãªããããªãããªãâ¦â¦ãã®æ´¾é¥ãéç¨ã§ä½¿ãJavaã®ãã¼ã¸ã§ã³ã¯8ã11ã17ã§ãä»ã®ãã¼ã¸ã§ã³ã¯è©ä¾¡ã«ä½¿ããããã§ãããã
11ãã17ã®ã¸ã£ã³ãã«ãªããã§ãããªãããããã®å¤æ´ãããã¾ãããæ¥åã¢ããªã±ã¼ã·ã§ã³ã®è¡¨å±¤ã«é¢ä¿ãããã®ã¯ããã¾ã§å¤ãããã¾ãããããã©ã¼ãã³ã¹ã¨ãã«å½±é¿ã®ãããã®ã¯å¤ã ããã¾ãããåºæ¬çã«ã¯æ©ããªãã¯ãã§ãåé¡ã«ãªããã¨ã¯ç¨ã§ããç¨ãªãã¨ã¯ãããããã§ããã
ã¨ãããã¨ã§ã17ã«ããæã«æ¥åã¢ããªã±ã¼ã·ã§ã³ã®è¡¨å±¤ã«å½±é¿ã®ãããããªãã®ãæãã¦éæãæ¸ãã¦ããã¾ããå¤å3ã¶æå¾ãããã«ã¯ãããã¨å¤ããã¾ããã JEPã®ååã¨ãªã³ã¯ãæ£å¼çã¨ãã¦å°å ¥ããããã¼ã¸ã§ã³ã§ãã
- Text Block: JEP 378, Java15
- è¤æ°è¡æååãæ¸ããããã«ãªãã¾ãã
- ãã¹ãã³ã¼ãã§JSONãæ¸ãã¨ãã«ã¨ã¹ã±ã¼ãããªãã¦è¯ããªãã®ãå¬ããã§ãã
- ãããã¯ãã³ã¼ãã§å·¨å¤§ãªæååãæ±ãå ´åã¯ãã³ãã¬ã¼ãã¨ã³ã¸ã³ã使ãã¨æãã®ã§ãã¾ãåºçªã¯ãªãã¯ãã§ãã
- ããã¨ãããSQLãJdbcTemplateãMyBatisã®ã¢ããã¼ã·ã§ã³ãªã©ãSQLãJavaã³ã¼ãã«äº¤ãã¦æ¸ãã®ã楽ã«ãªãæ°ã¯ãã¾ãã
- Switch Expression: JEP 361, Java14
- switchå¼ã§ãã
ifå¼ã欲ãã - ãªããswitchã®å¼·åå¤ããã§ãããã11以åã¯switchãªãã¦æ» å¤ã«ä½¿ããªãã£ããã©ãä»å¾ã¯è¦ãæ©ä¼ãå¢ãã¦ããããããã¾ããã
- ã¨ã¯ããç¡çã«ä½¿ããªãã¦ãããã¨æãã¾ããããæãã«æ¸ããããªã試ãããããã§ã
- switchå¼ã§ãã
- Record: JEP 395, Java16
- ç®çãJava17ãæ¡ç¨ãããªã使ã£ã¦ããããããªã¼ã¨ã
- ç§ãããè¦ããlombokã使ãããåæ©ãã®ã»ã¨ãã©ãæ¶ãã¾ããData以å¤ã«Builderã¨ã使ãåãã¦ããå¼ãç¶ãåºçªã¯ããã¾ããã
- ã¤ãã¥ã¼ã¿ãã«ã®å¼·è¦ãã¢ã¯ã»ãµã®ã¡ã½ããåã«getãã¤ããªãããã¤ã³ãã£ã³ã°ã©ã¤ãã©ãªã®å¯¾å¿ç¶æ³ãªã©ãå°å³ãªãã¼ãã«ã¯ããã¾ãã
- ã¨ã¯è¨ãç¡çã«ä½¿ããªãã¦ãããã¨æãã¾ããrecordã§ãªããã°ã§ããªããã¨ãä»ã¯ãªãã ããã
- 2021-09-24追è¨: Recordã使ã£ã¦ãä¸ã§æ°ã«ãã¨ãã㨠æ¸ããã
- Sealed Class: JEP 409, Java17
- ä»è¨èªã«ããï¼ï¼ï¼ããSealedClassãJavaã«ããã£ã¦æ¥ã¾ããã
- æãã¦ã¯ã¿ããã®ã®ãä»å¾ã®æºåã¨ãã¦å ¥ã£ãç¨åº¦ã®èªèã§è¯ããã¨ã
- ä½¿ãæ¹ãããªãã¦ããããå©ç¨ãããã®ãå¢ãã¦ãã¦ããã§ããã¨æãã¾ãã
- Pattern Matching for instanceof: JEP 394, Java16
- instanceofã®å¾ã®ãã£ã¹ããæ¸ããªãã¦è¯ããªãã¾ãã
- ã¸ã§ããªã¯ã¹ä»¥éç»å ´æ©ä¼ã®æ¿æ¸ãããã£ã¹ãããã®æ´»èºå ´æãã¾ãæ¸ã£ãã
- æãã¦ã¯ã¿ããã®ã®ãããããinstanceofãä½¿ãæ©ä¼ãå°ãªãããç¡çã«ä½¿ãå¿ è¦ã¯ç¡ããã¨ã
- 使ããå ´é¢ã§ã¯åãã§ä½¿ãã°ããã¨æãã¾ããä¸è¡æ¸ãã ãã ãã©ã
äºã¤ã ããã¾ã¨ããã¨ãTextBlockããã¹ãã§ä½¿ã£ã¦ããã¼ã¿ã¯ã©ã¹ãæ°ããä½ããªãRecordã使ã£ã¦ã¿ãããããã§ããããããã
ã³ã¼ãã£ã³ã°ã«ããå½±é¿ãªãããæãã¦ãªããã©ãå人çã«ä¸çªå¬ããã®ã¯Helpful NullPointerExceptionsã ã£ãããã¾ãã䏿ã«nullãã§ãã¯ãã¦ä¾å¤æããããããªãããã§ãã¯ãããã®ã¾ã¾NPEçºçãããæ¹ãå½¹ç«ã¤å¯è½æ§ã¾ã§ããæ°ããã¦ããã
ç´°ãããã©å¬ããã®
String#formatted
Java12Stream#toList
Java16Collectors#teeing
Java12
ã¡ãã£ã¨ä¾¿å©ç³»ããã®è¾ºã®APIã¯IDEãæãã¦ããããããåå¨èªä½ãç¥ããªãã¦ããä½¿ãæ©ä¼ãæ¥ãã使ããã¨æãã¾ãã
å®éãã¤ãããã®
- ãããã¯ãã¯SpringBootãã»ã¨ãã©ãªãã§ãæ¥é±åºããããJava17対å¿ã®SpringBoot2.5.5ã«ä¹ã£ããã
- 2021-09-24追è¨: Spring Boot 2.5.5 available now åºããç¹å¥ã«17åãã®ä½ãã¯ãªããã©ãã¾ãåãã¦ãã
- ãã®é ã«ã¯buildpackãåºãã ãããä¹ã£ãã£ã¦ãªãã®ããããããªã£ã¦ã
- Java16ã§åããã¦ããã®ã¯è»½ãæ°æã¡ã§ã³ã³ãã¤ã«ããå ¨é¨17ã«ãããã
- Java11ã®ã¯æ¤è¨¼ç°å¢ã®ã©ã³ã¿ã¤ã ã ã17ã«ãã¦ãã°ããåãã¦ããã
ãããªæãã
ã¾ã¨ããªæ å ±
- ããã ããã¨ã ã®ãJava XXæ°æ©è½ã¾ã¨ããã·ãªã¼ãº
- ãããã°ããã¨ãã®ãJEPã§ã¯èªããªãJava XXãã·ãªã¼ãº
- ã¦ãã ããã®JEPä¸è¦§