我的布尔值返回false到等于或大于1000的任何值,为什么?

Jav*_*oob 0 java boolean

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

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

Jon*_*eet 6

那么明显的诊断下一步就是打印两个格式化的字符串.我怀疑你会发现它是"1000"和"1000"之间的区别 - 但这取决于你的语言环境.

取消这种体验的重要一点是根本不涉及字符串格式化 - 它与调试和诊断有关:

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

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