zoukankan      html  css  js  c++  java
  • Java 13新特性

    switch表达式

    switch表达式是Java 12开始就提供的预览特性,到了Java 13仍然没有被转正。此特性可以把switch的执行结果组合到复合表达式中进行运算。

    import java.time.Year;
    
    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 -> Year.isLeap(year) ? 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 multiLinesString = """
            学海孤帆远
            书山崎路长
            玉颜千钟粟
            长留万古芳""";
            
            // 直接在控制台输出文本块
            System.out.println(multiLinesString);
            
            System.out.println("----------- 分割线 -----------");
    
            // 使用String类的lines()方法得到一个Stream对象,处理并输出其中的每个元素
            // Stream中的元素由文本块中的每一行子串构成
            multiLinesString.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
    学海孤帆远
    书山崎路长
    玉颜千钟粟
    长留万古芳
    ----------- 分割线 -----------
    学海孤帆远!!!!!
    书山崎路长!!!!!
    玉颜千钟粟!!!!!
    长留万古芳!!!!!
    
  • 相关阅读:
    自定义lync状态
    实现SharePoint2010企业内容管理资源中心
    用代码实现Sharepoint2010的个人信息的照片上传(原创)
    用代码实现Sharepoint2010的个人信息的照片上传(2)(原创)
    window.open的例子和使用方法以及参数说明(完整版)
    一些困惑的事情
    建立三层结构的ASP应用程序
    ASP.net常用函数
    ASP.NET数据库使用精典读取数据库中数据
    配置你的ASP.NET运行环境
  • 原文地址:https://www.cnblogs.com/dyriger/p/11548312.html
Copyright © 2011-2022 走看看