【发布时间】:2015-10-20 21:39:06
【问题描述】:
我现在正在开发一个小程序,它的一个功能是从数据库中读取一组字符串并将其与同一张表中的另一个字符串进行比较。如果它们相同,则只显示一个字符串,如果它们不同,则显示两个字符串。
在我的开发机器上,这按预期工作。当我在客户端的测试计算机上安装应用程序时,该过程的行为有所不同。具体来说,字符串在我的计算机上返回相同,但它们在我的客户计算机上经常返回不同。
代码很简单:
if (!item.getDescription().equals(item.getBackDescription())) {
item.setDescriptionDisplay(item.getDescription() + " (" + item.getBackDescription() + ")");
} else {
item.setDescriptionDisplay(item.getDescription());
}
这是发生的屏幕截图(我的电脑在上面):
为此我已经想到并尝试了几件事:
我将 JRE 与应用程序捆绑在一起,他们的计算机没有安装它。我的电脑上安装了 JRE。想知道其中一个运行时是否存在问题或差异,我在我的计算机上卸载了 JRE(和 JDK),以确保它使用的是我的应用程序副本中的捆绑版本。
我想知道在我的计算机上用于测试的数据是否存在问题。我从他们的机器中导出了我正在使用的表,并将它们读入我的数据库副本以确保数据相同。
其他说明:
- 他们计算机上的数据并不总是错误的。应该标记为不同的东西是,而不是所有应该标记为相同的东西都被标记为不正确。
任何帮助将不胜感激,我已经搞砸了几个小时。谢谢。
【问题讨论】:
-
客户端的编码会不同吗?数据如何输入到应用程序中?
-
可能,这是我以前没有处理过的事情。我怎么会说这样的话?数据直接从数据库中读取。
-
当您复制他们的数据时,我假设它适合您?描述和“后述”是否都保存在数据库中?
-
是的,这两个描述都存储在数据库中,当我复制数据时,它对我来说效果很好。我只是添加了一个说明:我没有备份数据库本身,而是导出了我正在读取的表并导入到我的数据库副本中。
-
1) 我假设客户端直接将数据输入数据库? 2)你是如何导出数据的? 3) 它是什么类型的数据库?
标签: java string string-comparison