java - 我的 boolean 值对于任何等于或大于 1000 的值都会返回 false,为什么?

标签 java boolean

这是我遇到问题的代码片段:

            int inputIsInt = Integer.valueOf(JTextFieldName.getText());
            String format = NumberFormat.getInstance().format(inputIsInt);
            boolean isSame = format.equals(JTextFieldName.getText());
            if (isSame == true) {...

最佳答案

显然,诊断的下一步是打印两个格式化字符串。我怀疑您会发现这是“1,000”和“1000”之间的区别 - 但这取决于您所在的区域设置。

从这种体验中得到的重要一点根本与字符串格式化无关 - 它与调试和诊断有关:

  • 您可以记录两个字符串以确定差异
  • 您可以编写一个简短但完整的程序来显示这两个值
  • 您可以在程序执行时使用调试器检查这些值
  • 您可以编写一个单元测试

确保您了解所有这些选项,并确定何时使用哪些选项 - 这将使您成为更好的开发人员,并让您自己解决 future 的问题。 (我不介意帮助任何人,但如果你能帮助自己,通常会更快:)

关于java - 我的 boolean 值对于任何等于或大于 1000 的值都会返回 false,为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11810764/

相关文章:

使用 ASM 进行 Java 注解处理

Java JButton.setAction(...) null 的按钮文本

javascript - JavaScript 中的 boolean 对象是吗?

c# - 如何将位串转换为 boolean 数组

objective-c - 在 Objective c 中如何定义自定义 boolean 类型?

Java boolean 值和 JButton

java - 为特定groupId生成依赖关系图

java - 递增二维 java 数组的问题

java - Micronaut 中的 DI 错误出现在运行时而不是编译时?

arrays - 比较 2 个数组并列出差异 - Swift