很多时候,我们都需要在代码中书写大段或者需要转义的字符串,常见的情形有: SQL, 正则表达式, XML/HTML, 引用一大段文字 等等.
不幸的是, 到目前为止, Java都没有提供一种在语言级别对多行字符串的支持。在书写这些字符串, 不得不插入大量的转义符: \\ \r\n \", 他们之间还需要用+ 连接起来。 书写起来麻烦,理解起来也很困难, 特别是像正则表达式本身就包含很多需要转义的字符。据说在Java7的时候也曾经有人建议使用""" 来实现, 后来不知道是什么原因,最后不了了之。
虽然在语言级别我们暂时还没有办法, 但是我们通过IDE编辑器,可以达到比较理想的效果。Eclipse插件: Multiple-line syntax 的基本思路就是采用Javadoc来实现多行书写,这样可以不用破坏现有的Java语法结构,其大致原理:
在保存Java文件时,将有特别标记的javadoc转换为Java格式的字符串,并对这段代码做特别标记
在读取Java文件时,进行反向操作,将有特别标记的Java代码转为 Javadoc
这样,在IDE下我们看到的就是干净的多行字符串,并可以正常的编辑和保存。 而实际的源代码还是那些看起来很啰嗦的一堆转义和连接代码。 不过没有关系, 眼不见,心不烦! 只要可以正常执行,并输出我们想要的内容, 一切就都OK了.
例子截图: