• 人要活泼些才好
    置顶
    2021-11-17
    本篇主要讲了几点: 1. 认识 textarea 是什么?基本语法是什么? 2. textarea 和 原始的长字符串处理方式产生的对象指向同一内存地址。 3.文字块可以调用字符串 String 的 API 。 4.可以使用嵌入式的表达式 。 5. textarea 是如何处理共享的前导空格的。 6. 需要保留 textarea 怎么办?添加一个 \s 即可保留 此行 '\s' 及之前的空格。 7.如何在遵守编码规范的前提下处理长段落:在需要断行的地方 添加 \ 即可。

    作者回复: 建议置顶! 可惜我不知道有没有置顶的功能。 如果点赞可以帮助置顶的话,小伙伴们都来点赞吧。总结的太好了!

    共 2 条评论
    34
  • 森林
    2021-11-17
    老师,java啥时候支持字符串插值。

    作者回复: 这个特性,我还不知道是不是有计划。 现在有替换的方案,虽然没有字符串差值简单,所以可能不是很紧急。 如果觉得这个好,可以去OpenJDK提议,推动它的早日支持。

    
    2
  • getouo
    2021-11-17
    什么时候能支持字符串插值啊

    作者回复: 出现了两次,看来这个需求很旺盛啊。你想去OpenJDK提交一个新特性的申请吗?

    共 5 条评论
    2
  • Calvin
    2021-11-18
    老师,看完这节,我有点疑问,想请教一下: 1:编译过程去除共享的前导空格,这个可以理解是为了处理代码缩进,但是为什么文本行后面的空格也要设计为去除呢?这样设计的初衷是什么呀?(这样设计,为了保留后面的空格还要使用\s转义,感觉反而更麻烦了!) 2:这里说的是去除空格,万一是tab缩进的呢?前后的tab也能去除吗? 3:后置结束符是“"""”,如果我文本块内容最后一个字符也是“"”而且是不换行的,那么最终就是4个“"”结尾,这样也是没问题的对吗? 4:如果我文本块内容中间就有“"""”,这跟后置结束符一样,编译器是否能识别它并非真正的结束符?如果不能,有没有什么办法转义呢? 5:对于长文本不换行转义符“\”,文中只说了前面有空格的情况,如果它后面也还有空格或者tab,是否能达到不换行的效果呢? 6:对于文中说到的转义符“\s”和“\”,如果我不想让它们作为转义符(当普通文本输出),需要怎么再转义? PS:文中说到“\”不换行转义符时,是有笔误吗?刚看一头雾水,看例子才知道应该是“\”,原文针对这种情况, 文字块引入了一个新的转义字符,‘< 行终止符 >’,换行转义符。
    展开

    作者回复: 1). 通常状况下,行末的空格都是不必要,毕竟看不到。这样设计,省去了肉眼判断行末是否有空格的麻烦。 毕竟,有空格肉眼不好看,而转义字符就清晰很多了。 多数情况下,行末的转义字符应该用不上。 2),3),5)的答案,建议你试一试。 4)使用转义字符,\"""。6)继续使用转义字符。这和普通的字符串的转义字符的用法是一致的。 PS:有可能是词语选择的偏好导致的。“不换行转义符”和“换行转义符”似乎都有可能导致理解偏差。 小伙伴们,也帮我想一想有没有更好的表达方式。

    共 4 条评论
    1
  • aoe
    2021-11-17
    还是Go中的``用起来方便啊。""" """确实也方便了很多,但是平时用的真不多,复杂的文字一般都会从模板中读取/展示,例如:MyBatis的XML文件、Yaml文件、FreeMarker、Thymeleaf等

    作者回复: 嗯,场景不同,使用方式差别很大。 从模版中读取是一个值得小伙伴们学习的好办法。 我自己的代码很多要记日志,这个特性算是解放了我可怜的眼睛。

    共 4 条评论
    1
  • 人要活泼些才好
    2021-11-17
    直接添加缩进空格的实现 String poem = """ No man is an island, entire of itself, every man is a piece of the continent, a part of the main. """;

    作者回复: 很遗憾极客时间的评论不能准确地显示源代码。时间允许的话,你可以试一试专栏的GitHub的PR请求。每一讲的末尾,都有一个注解,提醒大家怎么获得源代码,怎么提交PR请求。

    共 2 条评论
    1
  • 码小呆
    2022-07-06
    文字块特性,说实话,在实际工作中,很难遇到使用情况,最多就在学习的过程中已经测试的过程中会使用到,毕竟现在 谁在工作中用servlet 去 做转发或者 重定向这种操作呢

    作者回复: 实际使用已经很多了。

    
    
  • giteebravo
    2021-11-27
    本节理解了文字块的基本概念及其使用方式, 会有意识地在代码里使用文字块。

    作者回复: 嗯,学到的就赶快用上。

    
    
  • 李阳
    2021-11-24
    写scala经常用。是很方便

    作者回复: 是的。

    
    
  • Jagger Chen
    2021-11-21
    https://github.com/XueleiFan/java-up/pull/6

    作者回复: 收到,有一个小的注释,已经merge了。

    
    