前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Java 15 新特性 文本块(Text Blocks)使用示例

Java 15 新特性 文本块(Text Blocks)使用示例

原创
作者头像
傻狗裆
发布2023-11-09 17:16:19
6412
发布2023-11-09 17:16:19
举报
文章被收录于专栏:傻狗裆的学习笔记

Java 15 新特性 文本块(Text Blocks)使用示例

前言

  Java程序猿经常需要使用字符串定义JSON,SQL和HTML。这类信息的输出如果不通过换行和缩进整理格式,是非常不易于阅读和理解的。Java 15中的新特性“文本块(Text Blocks)”让程序员从引号和特殊字符串的泥潭里面解脱出来。

什么是文本块

  文本块(Text Blocks)是一种在Java中定义多行字符串的解决方案,旨在简化多行字符串的实现方式,并提高其可读性。它们将多行字符串的创建和处理变得更加容易、直接和灵活。文本块采用 """ 分隔符,并保留所输入文本的格式,包括嵌入的空白符。

示例

简单的多行文本示例

代码语言:java
复制
/*
    使用一对"""(注意:开始的"""需要换行,否则编译报错)
*/
String s1 = """
        This is a simple 
        text block demo.""";

System.out.println(s1);

执行结果

代码语言:text
复制
This is a simple
text block demo.

直接输出""不需要转义

代码语言:java
复制
/*
    可以直接输出""不需要转义,可以拼接字符串
*/
String s2 = """
        {
           "name": 'Tom'
            , "age": 16 
        }
        """;
System.out.println(s2);

执行结果

代码语言:text
复制
{
    "name": 'Tom'
    , "age": 16
}

可以直接使用\n\t等特殊字符

代码语言:java
复制
/*
    可以直接使用\n\t等特殊字符
*/
String s3 = """
            <xml>
                <body>hello\nText\tBlock</body>
            </xml>
            """;
System.out.println(s3);

执行结果

代码语言:text
复制
<xml>
    <body>hello
Text	Block</body>
</xml>

可以输出缩进

代码语言:java
复制
/*
    可以输出缩进
*/
String s4 = """
            SELECT 
                *
            FROM 
                stu
            WHERE 1=1
                AND age > 16
                AND name = 'Tom'
            """;
System.out.println(s4);

执行结果

代码语言:text
复制
SELECT
    *
FROM
    stu
WHERE 1=1
    AND age > 16
    AND name = 'Tom'

反编译的class文件代码

代码语言:java
复制
String s1 = "This is a simple\ntext block demo.";
System.out.println(s1);
String s2 = "{\n    \"name\": 'Tom'\n    , \"age\": 16\n}\n";
System.out.println(s2);
String s3 = "<xml>\n    <body>hello\nText\tBlock</body>\n</xml>\n";
System.out.println(s3);
String s4 = "SELECT\n    *\nFROM\n    stu\nWHERE 1=1\n    AND age > 16\n    AND name = 'Tom'\n";
System.out.println(s4);

总结

  通过以上示例可以轻松的体会到文本块的方便之处。可以直接使用特殊字符,保留了换行和缩进,所见即所得。通过class文件返编译的结果我们可以知道文本块"""是对原有字符串表达式的封装的语法糖,方便开发,提高可读性,降低了代码出错的几率。

我正在参与2023腾讯技术创作特训营第三期有奖征文,组队打卡瓜分大奖!

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Java 15 新特性 文本块(Text Blocks)使用示例
    • 前言
      • 什么是文本块
        • 示例
          • 简单的多行文本示例
          • 直接输出""不需要转义
          • 可以直接使用\n\t等特殊字符
          • 可以输出缩进
          • 反编译的class文件代码
        • 总结
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档