假设你有一个字符串文字,里面有很多引号.你可以逃避所有这些,但这是一种痛苦,难以阅读.
在某些语言中,您可以这样做:
foo = '"Hello, World"';
Run Code Online (Sandbox Code Playgroud)
但是,在Java中,s ''用于chars,因此不能以String这种方式使用它.有些语言有解决此问题的语法.例如,在python中,您可以这样做:
"""A pretty "convenient" string"""
Run Code Online (Sandbox Code Playgroud)
Java有类似的东西吗?
我需要处理包含Java中的换行符的长字符串.这些是用于HTML生成的,但它并不是最重要的.
我知道Java在没有heredocs的方式上是残废的.但是我还可以使用其他机制:
1)字符串连接(或StringBuilders),不是非常易读和可复制粘贴.
2)在.properties文件中存储字符串,要么不是非常易读,要么具有更高的复制性.
3)将每个"heredoc"存储在单独的.txt文件中,非常易读且可以复制,但会产生大量的txt文件.
4)模板引擎,如Velocity或Freemarker - 将设计移出Java,需要大量的地图操作,这将是相当不错的,但Velocity语法和循环/如果能力不像Smarty那样可读
每个人都有利弊,我想选择3,但由于纯粹的意识形态原因,管理层更喜欢1.我想在Java中使用heredocs有一些标准,可能是库让事情变得更容易.我很感激任何建议(有很好的论据)如何使用heredocs.
感谢名单