Java 在不同的计算机上返回不同的字符串比较结果
Java returning different results for string comparisons on different computers
我现在正在开发一个小程序,它的一个功能是从数据库中读取一组字符串并将其与同一个 table 中的另一个字符串进行比较。如果它们相同,则只显示一个字符串,如果它们不同,则显示两个字符串。
在我的开发机器上,这按预期工作。当我在客户的测试计算机上安装应用程序时,过程表现不同。具体来说,字符串 return 在我的计算机上是相同的,但它们在我客户的计算机上经常 return 不同。
这个代码很简单:
if (!item.getDescription().equals(item.getBackDescription())) {
item.setDescriptionDisplay(item.getDescription() + " (" + item.getBackDescription() + ")");
} else {
item.setDescriptionDisplay(item.getDescription());
}
这是它发生的截图(我的电脑在上面):
我为此想到并尝试了几种方法:
我在应用程序中捆绑了JRE,他们的电脑没有安装。我的电脑上安装了 JRE。想知道其中一个运行时是否存在问题或差异,我在我的计算机上卸载了 JRE(和 JDK)以确保它使用我的应用程序副本中的捆绑版本。
我想知道我在计算机上用来测试的数据是否有问题。我从他们的机器中导出了我正在使用的 tables 并将它们读入我的数据库副本以确保数据相同。
其他说明:
- 他们电脑上的数据并不总是错误的。应该标记为不同的东西是而不是所有应该标记为相同的东西都标记为不正确。
任何帮助将不胜感激,我已经弄乱了好几个小时。谢谢
您是否尝试过删除一些空格?尝试:
if (!item.getDescription().trim().equals(item.getBackDescription().trim())) {
item.setDescriptionDisplay(item.getDescription() + " (" + item.getBackDescription() + ")");
} else {
item.setDescriptionDisplay(item.getDescription());
}
我现在正在开发一个小程序,它的一个功能是从数据库中读取一组字符串并将其与同一个 table 中的另一个字符串进行比较。如果它们相同,则只显示一个字符串,如果它们不同,则显示两个字符串。
在我的开发机器上,这按预期工作。当我在客户的测试计算机上安装应用程序时,过程表现不同。具体来说,字符串 return 在我的计算机上是相同的,但它们在我客户的计算机上经常 return 不同。
这个代码很简单:
if (!item.getDescription().equals(item.getBackDescription())) {
item.setDescriptionDisplay(item.getDescription() + " (" + item.getBackDescription() + ")");
} else {
item.setDescriptionDisplay(item.getDescription());
}
这是它发生的截图(我的电脑在上面):
我为此想到并尝试了几种方法:
我在应用程序中捆绑了JRE,他们的电脑没有安装。我的电脑上安装了 JRE。想知道其中一个运行时是否存在问题或差异,我在我的计算机上卸载了 JRE(和 JDK)以确保它使用我的应用程序副本中的捆绑版本。
我想知道我在计算机上用来测试的数据是否有问题。我从他们的机器中导出了我正在使用的 tables 并将它们读入我的数据库副本以确保数据相同。
其他说明:
- 他们电脑上的数据并不总是错误的。应该标记为不同的东西是而不是所有应该标记为相同的东西都标记为不正确。
任何帮助将不胜感激,我已经弄乱了好几个小时。谢谢
您是否尝试过删除一些空格?尝试:
if (!item.getDescription().trim().equals(item.getBackDescription().trim())) {
item.setDescriptionDisplay(item.getDescription() + " (" + item.getBackDescription() + ")");
} else {
item.setDescriptionDisplay(item.getDescription());
}