网站首页 > 精选教程 正文
接上一篇JShell,这篇介绍下文字块。
- 文字块这个特性,首先在JDK 13中以预览版的形式发布。在JDK 14中,改进的文字块再次以预览版的形式发布。最后,文字块在JDK 15正式发布。
文字块的概念
- 文字块的概念很简单,它是一个由多行文字构成的字符串。
为啥需要文字块呢?
- 在java中编写复杂的字符串是一件痛苦的事情,比如我在程序中定义一个json字符串:
//代码里充满里转移符,可读性和可编辑性极差
String json = "\\n" +
"{\\n" +
" \\"key\\":\\"myKey\\",\\n" +
" \\"value\\":\\"myValue\\"\\n" +
"}";
所见及所得的文字块
- 看下如果使用文字块,同一个json串:
//可读性、可编辑性大大增强
String jsonNew = """
{
"key":"myKey",
"value":"myValue"
}
""";
文字块和字符串的区别是啥?
不同于传统字符串的是,在编译期,文字块要顺序通过如下三个不同的编译步骤:
- 1.为了降低不同平台间换行符的表达差异,编译器把文字内容里的换行符统一转换成 LF(u000A);
- 2.为了能够处理Java源代码里的缩进空格,要删除所有文字内容行和结束分隔符共享的前导空格,以及所有文字内容行的尾部空格;
- 3.最后处理转义字符,这样开发人员编写的转义序列就不会在第一步和第二步被修改或删除。
我的理解文字块就是java语言对字符串在编译期的优化。
你们是怎么看的呢?欢迎留言讨论。
下一篇:java新特性(三)档案类
猜你喜欢
- 2024-11-25 初识java—(五十)输出流
- 2024-11-25 Python 打印回车换行
- 2024-11-25 Bash技巧:介绍一个批量复制文件到指定目录的Shell脚本
- 2024-11-25 进阶之路:Java 日志框架全画传(中)
- 2024-11-25 JSON 字符串是如何被解析的?JsonParser了解一下
- 2024-11-25 看了这篇,我确定你已经彻底搞懂Git了
- 2024-11-25 java正则表达式的使用
- 2024-11-25 用 Java 的 IO 流进行读写文件操作
- 2024-11-25 盘点一下Redis中常用的Java客户端,或者咱们手写一个?
- 2024-11-25 字符知识小结(面向Java语言)
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- nginx反向代理 (57)
- nginx日志 (56)
- nginx限制ip访问 (62)
- mac安装nginx (55)
- java和mysql (59)
- java中final (62)
- win10安装java (72)
- java启动参数 (64)
- java链表反转 (64)
- 字符串反转java (72)
- java逻辑运算符 (59)
- java 请求url (65)
- java信号量 (57)
- java定义枚举 (59)
- java字符串压缩 (56)
- java中的反射 (59)
- java 三维数组 (55)
- java插入排序 (68)
- java线程的状态 (62)
- java异步调用 (55)
- java中的异常处理 (62)
- java锁机制 (54)
- java静态内部类 (55)
- java怎么添加图片 (60)
- java 权限框架 (55)
本文暂时没有评论,来添加一个吧(●'◡'●)