当前位置: 首页 > 面试题库 >

在Java源代码中使用大文本片段

东郭昌胤
2023-03-14
问题内容

有什么好的方法可以在Java源代码中使用文本块(字符串)?许多其他语言都可以使用heredoc语法,但是Java没有。这使得处理诸如标签库之类的东西非常不便,标签库输出大量的静态标记,而单元测试则需要对XML块进行比较。

其他人如何解决这个问题?可能吗?还是我只需要忍受它?


问题答案:

尽管您可以使用某些格式化程序将任何文本文件或长文字转换并嵌入为Java字符串(例如,使用换行符,必要的转义符等),但我真的无法想到经常需要使用这些功能的情况。

软件的趋势通常是将代码与操作数据分开。大文本部分,即使仅用于显示或比较,也是数据,因此通常存储在外部。读取文件(甚至将结果缓存在内存中)的成本相当低。国际化更容易。改变更容易。版本控制更容易。其他工具(例如拼写检查器)也可以轻松使用。

我同意,在单元测试中,您想将内容与模拟进行比较,则需要进行大规模文本比较。但是,当您处理如此大的文件时,通常会具有可以在多个不同的大型输入上工作以产生多个大型输出的测试,那么为什么不让测试仅加载适当的文件而不是内联呢?

XML也是如此。实际上,对于XML,我认为在很多情况下,您都希望读取XML并构建一个DOM树,然后将其进行比较,而不是进行可能受到空格影响的文本比较。在单元测试中手动创建XML树是很丑陋的。



 类似资料:
  • 问题内容: 在哪里可以下载Java本机方法源代码?例如,我想知道的源代码,但找不到。 问题答案: 您可以在此处下载OpenJdk源代码。 在该文件夹中,您可以获取源代码。 是使用c和c ++编写的natice方法。 Linux的源代码。 Windows的源。 索拉里斯的来源。 共同来源。 例如:System.arrayCopy(); int文件行168:

  • 问题内容: 考虑: 如何在源代码中声明UTF-8字符串? 问题答案: 在源头中,你可以声明: 在PEP 0263中进行了描述: 然后,你可以在字符串中使用UTF-8: 在Python 3中不需要此声明,因为UTF-8是默认的源编码(请参阅PEP 3120)。 此外,值得验证你的文本编辑器是否已将代码正确编码为UTF-8。否则,你可能会有不被解释为UTF-8的不可见字符。

  • 问题内容: 我有一个.dll文件,必须在Java中使用。该.dll文件具有参数化方法,该方法应将类型返回为字符串。当我将参数传递给它时,我得到的消息是 这是代码… 问题答案: 只需在项目中添加引用即可。和名称空间在顶部..然后您可以访问所有dll方法。如果您使用的是Eclispe,请右键单击您的项目->然后单击“构建路径”->,然后单击“添加库”,然后单击用户库。 在这里您可以导入dll

  • 问题内容: 如何获取片段中的上下文? 我需要用我的数据库其构造函数采用的背景下,但并没有工作,所以我能做些什么? 数据库构造函数 问题答案: 你可以使用,返回与关联的活动。 活动是(自扩展以来)。

  • 了解如何使用 Dreamweaver的“代码片段”面板创建代码片段并在不同的 Dreamweaver 站点上重用代码。 如果您发现自己多次重复代码块,可以使用代码片段加快编写代码的过程。写入该代码一次,将其保存为一个代码片段,然后在“代码片段”面板中双击它,以将它插入到多个位置。 使用“代码片段”面板创建的代码片段不是针对特定站点的,因此可以跨站点重用它们。您还可以使用同步设置跨不同设备、Drea

  • 我试图理解Android上碎片的概念。官方页面有一些代码片段和一个链接,它提到了整个源代码,名为。但是点击它,我会被重定向到这个页面