在 Java 源代码中使用大型文本片段
有没有好的方法可以在Java源代码中使用文本块(字符串)?许多其他语言都有可用的heredoc语法,但Java没有。这使得使用诸如输出大量静态标记的标记库之类的东西以及需要断言与XML块的比较的单元测试非常不方便。
其他人如何解决这个问题?这有可能吗?还是我只需要忍受它?
有没有好的方法可以在Java源代码中使用文本块(字符串)?许多其他语言都有可用的heredoc语法,但Java没有。这使得使用诸如输出大量静态标记的标记库之类的东西以及需要断言与XML块的比较的单元测试非常不方便。
其他人如何解决这个问题?这有可能吗?还是我只需要忍受它?
如果文本是静态的,或者可以参数化,则可能的解决方案是将其存储在外部文件中,然后将其导入。但是,这将创建文件 I/O,这可能是不必要的或具有性能影响。使用此解决方案需要缓存文件内容以减少文件读取次数。
Java 中对 HereDoc 的关闭选项是 java.text.MessageFormat。不能嵌入逻辑。它是一个简单的值转义实用程序。没有使用任何变量。您必须使用基于零的索引。只需关注javadoc。
http://download.oracle.com/javase/1,5.0/docs/api/java/text/MessageFormat.html