首页 > 其他分享 >JDK17新特性,真的好像scala

JDK17新特性,真的好像scala

时间:2022-12-10 20:57:18浏览次数:37  
标签:scala JDK17 特性 jdk17 World Hello

背景

截止目前,jdk最新版本为17,自jdk9之后开发了很多新特性!!!

看完这些特性,我在想为啥不直接用scala???

特性

  • JShell

jdk9之后出现的一款交互式工具,一般这玩意都是用于新手培训的。真巧,scala也有

scala:

java:

 

  • 文字块

例如以下这段字符串在jdk8中的展现形式如下:

String stringBlock =
        "<!DOCTYPE html>\n" +
        "<html>\n" +
        "    <body>\n" +
        "        <h1>\"Hello World!\"</h1>\n" +
        "    </body>\n" +
        "</html>\n";

那么像这种字符串就可以用字符块去表示

scala:

val stringBlock =
      """
        |<!DOCTYPE html>
        |<html>
        |    <body>
        |        <h1>"Hello World!"</h1>
        |    </body>
        |</html>
        |""".stripMargin

jdk17:

String textBlock = """
                <!DOCTYPE html>
                <html>
                    <body>
                        <h1>"Hello World!"</h1>
                    </body>
                </html>
                """;

上面代码输出结果都一样,并且都排版对齐。

jdk17在处理文字块格式化时,会静默的对齐每行的文本,然后删除最长前后缀缩进。这块如果对jdk17处理文字块流程不了解的情况下,可能会存在很多坑,导致原本应该保留的前后缀缩进丢失。这块设计,感觉不如scala。  

 

未完待续

标签:scala,JDK17,特性,jdk17,World,Hello
From: https://www.cnblogs.com/zhouwenyang/p/16972226.html

相关文章

  • es6新特性------学好类(class)这一篇就够了
    OverridetheentrypointofanimageIntroducedinGitLabandGitLabRunner9.4.Readmoreaboutthe extendedconfigurationoptions.Beforeexplainingtheav......
  • LightDB内置特性之访问oracle之oracle_fdw介绍
    LightDB发行版内置了直接访问oracle的扩展oracle_fdw。只要lightdb所在服务器安装了oracle客户端/服务器或轻量客户端,并配置环境变量即可使用。如下:exportORACLE_HOME=......
  • oracle 12.2+支持mysql与postgresql中的collate(排序规则)特性
    sqlserver,mysql,postgresql都支持针对字符串类型定义排序规则的概念(collate),一般来说,排序规则分为三种:基于二进制,是否区分大小写,是否区分重音。例如sqlserver中:SELE......
  • jdk8新特性
    Java8新特性1lambda表达式1.1概述lambda是JDK8中的一个语法糖。他可以对某些匿名内部类的写法进行简化。它是函数式编程思想的一个重要体现。让我们不用关注是什么对......
  • c# 抽象类+特性 验证QQ,Mobile,Name的通用写法
    1.调用boolbResult=ValidateAttributeExtension.Validate<StudentVip>(vip);[Custom]publicclassStudentVip:Student{[Custom]publicst......
  • PaaS平台的一致性访问特性
       PaaS平台整合各种不同的软硬件资源向应用提供统一的资源和功能。通过整合,应用运行所需的各种资源和基础功能以统一的编程模型和调用接口暴露给应用使用,应用无须关......
  • Spring Cloud 概要(What,特性,版本)
    1.WhatisSpringCloud?出自官方:​​官网入口​​SpringCloud为开发人员提供了一些工具用来快速构建分布式系统中的一些常见模式和解决一些常见问题(例如配置管理、服务发......
  • redis特性/版本/删除/安装
    Redis是一个开源的高性能键值对数据库。它通过提供多种键值数据类型来适应不同场景下的存储需求,并且借助许多高层级的接口使其可以胜任,如缓存、队列系统的不同角色。​​Red......
  • java的特性和版本
    java的特性简单性面向对象性可移植性(跨平台性)高性能安全性健壮性多线程分布式动态性java的三个版本javaSE(标准版),主要是桌面程序开发javaME(微型版),......
  • RuntimeError: expected scalar type Double but found Float
    网络传入的类型错误,我一开始是expectedscalartypeFloatbutfoundlongtrain_tensor=train_tensor.to(torch.float32)然后就报RuntimeError:expectedscalartypeDou......