对于JDK 13 的新特性,Oracle Java 平台组首席架构师 Mark Reinhold 做出了两个预测: 原生字符串文字(Raw String Literals),它可以跨多行源码而不对转义字符进行转义。目标是简化 Java 的开发,比如开发者可以可读形式表示字符序列,而不会掺...
这称为Raw String literal,这意味着所有字符都按原样解释,并且不需要转义。 Java中的原始字符串文字 在Java 12中,最初提议包括Raw String Literals(JEP-326)。这种行为与上面Kotlin中的例子非常相似。但它不使用"""其他JVM语言,而是使用反引号```表示法。这个概念略微不同寻常,你可以在最后使用任意数量的反引号和...
原生字符串文字(Raw String Literals),它可以跨多行源码而不对转义字符进行转义。目标是简化 Java 的开发,比如开发者可以可读形式表示字符序列,而不会掺杂一些 Java 指示符,或者提供针对 Java 以外的语法的字符串。在 JDK 13 中进行预期的测试运行后,该功能可以在随后的 JDK 14 版本中跟进。可用于生产环境的...
Text Blocks (Preview)在JDK 12中引入了Raw String Literals特性,但在发布之前就放弃了。这个JEP在引入多行字符串文字(text block)在意义上是类似的。text block,文本块,是一个多行字符串文字,它避免了对大多数转义序列的需要,以可预测的方式自动格式化字符串,并在需要时让开发人员控制格式。我们以前从外部c...
public static void main(String[] args) { int var = 100; var(var); } private static void var(int var) { System.out.println(var); } 1. 2. 3. 4. 5. 6. 7. 简单见识过 Java 10 的 var 后,我们再推进到尚处于愿景中的 Java 11 特性: 原始字符串字面量(Raw String Literals, 含多行...
Text blocks were proposed byJEP 355in early 2019 as a follow-on to explorations begun inJEP 326(Raw String Literals), which was initially targeted to JDK 12 but eventuallywithdrawn and did not appear in that release. JEP 355 wastargeted to JDK 13 in June 2019as apreview feature. Feedback...
留意到不少开发者对 Raw String Literals 特性情有独钟,该特性类似于 JavaScript ES6 语法中的模板字符串,使用它基本可以告别丑陋的字符串拼接。特性详见: http://openjdk.java.net/jeps/326 该特性原计划于 JDK 12 发布,可惜最后还是被取消了,详见: ...
本文引用 InfoWorld 的报导,介绍一下 Oracle Java 平台组首席架构师 Mark Reinhold 预测的 JDK 13 中将会出现的 2 项新特性。原生字符串文字(raw string literals),它可以跨多行源码而不对转义字符进行转义。目标是简化 Java 的开发,比如开发者可以可读形式表示字符序列,而不会掺杂一些 Java 指示符,或者提供针对...
JDK 12 中引入了 Raw String Literals 特性,但在发布之前就放弃了。JEP 在引入多行字符串文字(一个文本块)方面与此类似。 HTML 例子: 使用字符串文字:使用文本块:SQL 例子 使用字符串文字:使用文本块:总结: 以上,就是 JDK 13 中包含的 5 个新特性,能够改变开发者编码风格的主要有 Text Blocks 和Switch Exp...
在即将发布的 JDK 12 中,原有提案之一的原始字符串字面量(raw string literals)于一个月前被 JDK 开发团队从该版本中剔除了,这让不少满怀期待的开发者难免有些失落。根据该提案官方描述显示,原始字符串字面量可以跨多行源代码,并且里面的转义串不会被解析,例如\ n,或者像\ uXXXX 形式的 Unicode 转义...