java 读取 文本块_Java 13:文本块

java 读取 文本块

Java 13已交付了期待已久的多行字符串或Text Blocks 。 您不再需要连接跨越多行的字符串或转义特殊字符,这确实提高了代码的可读性。 文本块是一种预览语言功能 ,这意味着必须使用--enable-preview标志在Java编译器和运行时中明确启用它们。

这是一个文本块的示例:

 String textBlock = "" " <html> <body> <p style= "color:red" >This is a text block</p> </body> </html> "" "; 

如上所示,一个文本块用三个双引号( """ )括起来。 """开头不能跟任何非空白字符,即实际文本必须在开头定界符之后的行上开始。 您无需在文本块内转义任何特殊字符,这太好了!

在Java的早期版本中,您必须像这样编写它:

 final String old = "<html>\n" + "\t<body>\n" + "\t\t<p style=\"color:red\">This is a text block</p>\n" + "\t</body>\n" + "</html>" ; 

实际上,在此示例中, textBlock == old因为两者的内容完全相同,并且在String池中引用的对象相同。

现在,通过考虑以下两个文本块,看看如何处理前导空白:

 String textBlock1 = "" " <html> <body> <p style= "color:red" >This is a text block</p> </body> </html> "" ";   String textBlock2 = "" " <html> <body> <p style= "color:red" >This is a text block</p> </body> </html> "" "; 

如果打印出这两个文本块,则第一个文本将被打印为:

 <html> <body> <p style= "color:red" >This is a text block</p> </body>  </html> 

第二个是:

 <html> <body> <p style= "color:red" >This is a text block</p> </body> </html> 

文本块中任何行上最左边的非空白字符或最左边的分隔符确定整个块的“起点”,并且从该起点开始,每行都保留空白。

还要注意的一点是,在文本块中删除了每行末尾的空白,但是您可以使用八进制转义序列\040来保留它,如下所示:

 String octal = "" " line 1 \ 040 line 2 line "" "; 

翻译自: https://www.javacodegeeks.com/2019/10/java-13-text-blocks.html

java 读取 文本块

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/331730.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

php 崩溃 输出,php – 创建可崩溃的print_r()var_dump()的函数?

你可能熟悉print_r的这个输出&#xff1a;Hierarchy Object([parent:private] > Hierarchy Object([parent:private] >[children:private] > Array()[level:private] > 0[price_modes:private] > Array()[id:protected] >[left_id:protected] >[right_id:…

JavaFX之TableView的SelectionMode

SelectionMode table默认是只能选着一行的&#xff0c;如果想选着多行&#xff0c;设置SelectionMode,此时可以对选中的多个进行监听。 [java] view plaincopy ListChangeListener<Person> indicesListener new ListChangeListener<Person>() { …

Comparable and Comparator API

【0】README 0.1&#xff09;文本全文翻译于 java 8 JDK 官方文档中关于 Comparable and Comparator 的描述&#xff1b; 0.2&#xff09;能力有限&#xff0c;仅供参考&#xff1b; 【1】 Interface Comparable 1.0&#xff09;类型参数&#xff1a; 与本对象进行比较的另一…

sql2008 sql服务_SQL即服务

sql2008 sql服务自2007年以来&#xff0c;我一直在考虑这一点&#xff0c;大约在Amazon 推出 S3时。 我什至尝试实现了几次&#xff0c;但是在设计阶段之后就失败了。 我听说过一家初创公司也尝试这样做&#xff0c;但也失败了 。 我仍然不确定是否可以这样做&#xff0c;但是它…

dede rss.php,DeDeCMS dede 织梦cms RSS全站静态输出的实现方法

DedeCMS自带Rss功能&#xff0c;在管理后台可以生成出一个Rss地图页面&#xff0c;默认是/data/rssmap.html&#xff1b;这个Html地图文件会告知用户每个栏目的rss订阅地址&#xff0c;这个功能很适合栏目及文章较多的网站&#xff0c;但不太适合文章页不多的小型站点&#xff…

java之注解

注解使用一、java的常用注解 Override 重写覆盖方法 SuppressWarnings 压住警告可用于类和方法 Deprecated 声明类或方法过时 注解Override用在方法上&#xff0c;当我们想重写一个方法时&#xff0c;在方法上加Overr…

java集合——队列和双端队列+优先级队列

【0】README 0.1&#xff09; 本文描述转自 core java volume 1&#xff0c; 源代码为原创&#xff0c;旨在理解 java集合——队列和双端队列优先级队列 的相关知识&#xff1b; 0.2&#xff09; for full source code , please visit https://github.com/pacosonTang/core-j…

java无效的源发行版_无效的Java

java无效的源发行版也许我可以被机器人代替进行代码审查。 有一些反馈我发现自己一遍又一遍。 这是我最不喜欢的一些&#xff1a; 通用代码结构 放弃其他 当if在两端return的else是多余的和不必要的创建缩进。 if (foo) { return bar; } else { return baz; } // should be…

oracle数值型转为char类型,PLSQL: Oracle函数to_char转化数字型指定小数点位数的技巧...

问题题出&#xff1a; 数字0.023 > 转化成字符串"0.023"问题难点&#xff1a;to_char&#xff0c;函数功能&#xff0c;就是将数值型或者日期型转化为字符型。比如最简单的应用&#xff1a;Select TO_CHAR(1.0123) FROM DUALSelect TO_CHAR(123) …

java之常用方法

一、数学函数 在System.Math类里面的函数 I、三角函数 sin(radians) 正弦函数 cos(radians) 余弦函数 tan(radians) 正切函数 toRadians(degree) 角度转为弧度 toDegree(radians) 弧度转为角度 asin(a) 反正弦函数 acos(a)…

java集合——映射表+专用集合映射表类

【0】README 0.1&#xff09; 本文描述转自 core java volume 1&#xff0c; 源代码为原创&#xff0c;旨在理解 java集合——映射表专用集合映射表类 的相关知识&#xff1b; 0.2&#xff09; for full source code , please visit https://github.com/pacosonTang/core-jav…

jstat分析_jstat –分析

jstat分析jstat是一个简单的实用工具&#xff0c;在JDK中存在&#xff0c;用于提供与JVM性能相关的统计信息&#xff0c;例如垃圾收集&#xff0c;编译活动。 jstat的主要优势在于&#xff0c;它可以在运行JVM且无需任何先决条件的情况下动态捕获这些指标。 这是什么意思&#…

oracle中execute函数,oracle Execute Immediate(sql语句)

慕尼黑的夜晚无繁华Example 1:Output:ABCDECLARE TYPE var_typ IS TABLE OF VARCHAR2(4000);cVars var_typ;cVar VARCHAR2(4000);BEGINEXECUTE IMMEDIATE SELECT A cc FROM dualUNIONSELECT B cc FROM dualUNIONSELECT C cc FROM dual BULK COLLECT INTO cVars; FOR i IN 1 .…

java之数组

一、声明数组 数组是引用类型&#xff0c;声明数组并没有分配空间&#xff0c;则该数组变量的值为null。 类型[] 数组名; 如&#xff1a;double[] data; 二、创建数组 类型[] 数组名new 类型[长度]; 数组创建&#xff0c;数组里面的元素会被赋值&#xff0c;数值型基本数据…

java集合——集合框架

【0】README 0.1&#xff09; 本文描述转自 core java volume 1&#xff0c; 源代码为原创&#xff0c;旨在理解 java集合——集合框架 的相关知识&#xff1b; 【1】集合框架 1.1&#xff09; java集合类库构成了集合类的矿建&#xff0c; 它为集合的实现者定义了大量的接口…

oracle密码不能重复用_重复码

oracle密码不能重复用介绍 在我们的Java应用程序中复制/粘贴代码通常不好&#xff0c;但是有时这是不可避免的。 例如&#xff0c;项目License3j在Feature类中为其支持的每种XXX类型提供了一个isXXX方法。 在这种情况下&#xff0c;我们做不到写 public boolean isBinary() { r…

oracle rman 用户,对Oracle数据库进行RMAN备份的Oracle数据库用户权限

在Oracle 12版本或者更高版本&#xff0c;Oracle备份用户需要具有SYSDBA或者SYSBACKUP权限在Oracle 11(包括11版本)以前&#xff0c;Oracle备份用户需要具有SYSDBA权限创建及授权用户权限命令示例如下&#xff1a;SQL>create user backupuser identified by oracle;SQL>g…

java之类

一、构造方法1)构造方法具有与类的相同名字2)构造方法没有返回值&#xff0c;甚至连void都没有3)创建新对象使用new&#xff0c;构造方法的作用就是初始化对象。格式为&#xff1a; [可见修饰符] 类名(参数表){}例如&#xff1a;public Myclass(){}普通方法&#xff1a; p…

pmml_再访PMML

pmml嗨伙计&#xff01; 从今年年初开始&#xff0c;就有了重新设计Drools PMML模块的计划。 在这篇文章中&#xff0c;我将描述我们将如何处理它&#xff0c;目前的状态&#xff0c;未来发展的想法等&#xff0c;等等……敬请期待&#xff01; 背景 PMML是一个标准&#xff…

java集合——视图与包装器

【0】README 0.1&#xff09; 本文描述转自 core java volume 1&#xff0c; 源代码为原创&#xff0c;旨在理解 java集合——视图与包装器 的相关知识&#xff1b; 0.2&#xff09; for full source code , please visit https://github.com/pacosonTang/core-java-volume/b…