首页 / JAVA / Java 13新特性
Java 13新特性
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Java 13新特性,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1946字,纯文字阅读大概需要3分钟。
内容图文
switch表达式
switch表达式是Java 12开始就提供的预览特性,到了Java 13仍然没有被转正。此特性可以把switch的执行结果组合到复合表达式中进行运算。
import java.time.LocalDate;
public class SwitchExpressionsDemo {
public static void main(String[] args) {
int year = 2012;
int month = 2;
// 把某月的天数与24和60相乘,得到此月份的分钟数
int minutes = 24 * switch (month) {
case 1, 3, 5, 7, 8, 10, 12 -> 31;
case 4, 6, 9, 11 -> 30;
case 2 -> LocalDate.of(year, month, 1).isLeapYear() ? 29 : 28;
default -> throw new IllegalArgumentException("月份应在1~12区间内取值");
} * 60;
System.out.printf("%d年%d月有%d分钟", year, month, minutes);
}
}
使用以下命令进行编译:
D:\>javac --enable-preview -source 13 -encoding utf-8 .\SwitchExpressionsDemo.java
注: .\SwitchExpressionsDemo.java 使用预览语言功能。
注: 有关详细信息,请使用 -Xlint:preview 重新编译。
使用以下命令执行程序:
D:\>java --enable-preview SwitchExpressionsDemo
2012年2月有41760分钟
文本块(多行字符串)
从Java 13开始支持文本块(多行字符串),可以替代从前丑陋的多行字符串拼接。此特性目前也是预览特性。
public class MultiLinesStringDemo {
public static void main(String[] args) {
// 使用"""..."""可以声明一个文本块
String multiLinesStrting = """
学海孤帆远
书山崎路长
玉颜千钟粟
长留万古芳""";
// 直接在控制台输出文本块
System.out.println(multiLinesStrting);
System.out.println("----------- 分割线 -----------");
// 使用String类的lines()方法得到一个Stream对象,处理并输出其中的每个元素
// Stream中的元素由文本块中的每一行子串构成
multiLinesStrting.lines().map(s -> s + "!!!!!").forEach(System.out::println);
}
}
使用以下命令进行编译:
D:\>javac --enable-preview -source 13 -encoding utf-8 .\MultiLinesStringDemo.java
注: .\MultiLinesStringDemo.java 使用预览语言功能。
注: 有关详细信息,请使用 -Xlint:preview 重新编译。
使用以下命令执行程序:
D:\>java --enable-preview MultiLinesStringDemo
学海孤帆远
书山崎路长
玉颜千钟粟
长留万古芳
----------- 分割线 -----------
学海孤帆远!!!!!
书山崎路长!!!!!
玉颜千钟粟!!!!!
长留万古芳!!!!!
内容总结
以上是互联网集市为您收集整理的Java 13新特性全部内容,希望文章能够帮你解决Java 13新特性所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。