JDk13⾥⾯新增的多⾏⽂本块
- 多⾏⽂本块
旧:在java代码⾥⾯编写多⾏源码带有特殊字符则需要转义,如HTML,sql等
新:原⽣字符串⽂字(raw string literals),它可以跨多⾏源码⽽不对转义字符进⾏转义
旧:
String html = "<html>\n" +
" <body>\n" +
" <p>Hello, world</p>\n" +
" </body>\n" +
"</html>\n";
String query = "SELECT `EMP_ID`, `LAST_NAME` FROM `EMPLOYEE_TB`\n" +
"WHERE `CITY` = 'INDIANAPOLIS'\n" +
"ORDER BY `EMP_ID`, `LAST_NAME`;\n";
新:
String html = """
<html>
<body>
<p>Hello, world</p>
</body>
</html>
""";
JDK13新特性之增强switch表达式
- 旧:没有break,则匹配的case后⾯会⼀直输出, value类型 可以是 byte、short、int 、char、String 类型
- 新:使⽤箭头函数,不⽤声明break,会⾃动终⽌,⽀持多个值匹配,使⽤逗号分隔
public void testNewSwitch(int i){
switch(i){
case 0 -> {
System.out.println("zero");
System.out.println("这是多⾏语句");
}
case 1,11,111 -> System.out.println("one");
case 2 -> System.out.println("two");
default -> System.out.println("default");
}
}
- 建议
- 多关注LTS版本如JDK8,JDK11,JDK17(未发布),这个是重点需要学的;功能性的则挑选常⽤的
- 特性进⾏掌握即可;
预览性的可以先不学或者简单知道就⾏,例如 AOT,ZGC,CDS 这些,未来的LTS版本中会更新,所以可以关注未来的LTS版本