zoukankan      html  css  js  c++  java
  • Java13新特性

    switch表达式(预览)

    在JDK 12中引入了Switch表达式作为预览特性。JDK 13提出了第二个switch表达式预览。JEP 354修改了这个特性, 它引入了yield语句,用于返回值。这意味着,switch表达式(返回值)应该使yield, switch语句(不返回值)应该使用 break

    //之前想要在switch里面返回值的操作
    public void testSwitch1(){
        String x = "3";
        int i;
        switch (x) {
            case "1":
                i=1;
                break;
            case "2":
                i=2;
                break;
            default:
                i = x.length(); break;
          }
          System.out.println(i); 
    }
    
    //Java13返回值的写法
    public void testSwitch2(){
          String x = "3";
          int i = switch (x) { 
                case "1" -> 1; 
                case "2" -> 2;
                default -> { 
                      yield 3;
                } 
          };
          System.out.println(i); 
    }
    
    //另一种写法
    public void testSwitch3() {
        String x = "3";
        int i = switch (x) {
            case "1":
                yield 1;
            case "2":
                yield 2;
            default:
                yield 3; 
          }
          System.out.println(i);
    }
    
    //Java13之后,switch中就多了一个关键字用于跳出switch块了,那就是yield,他用于返回一个值。和return的区别在 于:return会直接跳出当前循环或者方法,而yield只会跳出当前switch块。
    

    文本块(预览)

    在Java中,通常需要使用String类型表达HTML,XML,SQL或JSON等格式的字符串,在进行字符串赋值时需要进行 转义和连接操作,然后才能编译该代码,这种表达方式难以阅读并且难以维护。
    文本块就是指多行字符串,例如一段格式化后的xml、json等。而有了文本块以后,用户不需要转义,Java能自动搞定。因此,文本块将提高Java程序的可读性和可写性

    目标

    • 简化跨越多行的字符串,避免对换行等特殊字符进行转义,简化编写Java程序
    • 增强Java程序中字符串的可读性

    使用举例

    <html>
          <body>
                <p>Hello, 尚硅谷</p>
          </body>
    </html>
    
    //上面的字符串复制到Java代码中会变成下面这样
    
    "<html>
    " +
    ”<body>
    " +
    “<p>Hello, 尚硅谷</p>
    " +
    ”</body>
    " +
    “</html>
    ";
    
    //即被自动进行了转义,这样的字符串看起来不是很直观,在JDK 13中,就可以使用以下语法了
    """ 
    <html>
          <body>
                <p>Hello, world</p>
          </body>
    </html>
    """;
    
    //使用"""作为文本块的开始符和结束符,在其中就可以放置多行的字符串,不需要进行任何转义。看起来就十分清爽了
    
    
    
    
  • 相关阅读:
    高德地图SDK大致使用
    AFNetworking 使用
    蓝牙相关
    svn 常用命令
    通过AutoLayout显示三个等宽视图
    适配相关 --AutoLayout ---SizeClass
    常用网页
    UIViewController加载过程
    UIApplication相关
    实现消息转发功能(调用非自己类方法)
  • 原文地址:https://www.cnblogs.com/ding-dang/p/13571704.html
Copyright © 2011-2022 走看看