java - Intellij 调试器 : true becomes false, 发生了什么事...?

标签 java debugging intellij-idea

我有这个配置类:

public class ShiroConfiguration {
  private final boolean enabled = false;

    public boolean isEnabled() {
      return enabled; // ****
    }

显然,错误在于我将启用标志设置为“final”,因此它只能是 false。

在运行时,我试图找出为什么我的配置未启用,因此在调试器(在 IntelliJ 中)中运行代码,并在星号行上设置了断点。调试器显示启用的值为“true”,但此方法肯定返回值“false”。

为什么调试器会看到对象的错误版本?

我无法理解这怎么可能。这是 IntelliJ 中的错误,还是 Java 调试界面中的错误?

==============

这是我在调试器中在调用 config.isEnabled() 的行上的断点处看到的内容:

enter image description here

最佳答案

如果您在调用该方法时没有犯任何错误,即调用不同类的方法,那么这肯定看起来是调试器中的错误。调试器似乎暂时忽略了程序中的final 关键字。只需尝试暂时删除 final 关键字,看看是否是这种情况。

关于java - Intellij 调试器 : true becomes false, 发生了什么事...?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36197452/

相关文章:

java - 方法签名的代码检查

java - 无法在浏览器中运行Java Applet

java - 从android解析jsonObject并在webservice vb.net中获取它

java - C 中的按位运算符 ~=

xcode - 如何调试从 OSX 上的文件打开我的应用程序?

java - 使用 Chrome 开发者工具获取 Chrome 的屏幕截图?

java - ChooserActivity 泄露了 IntentReceiver

gradle - IntelliJ在gradle中添加子项目依赖项很奇怪

java - 将使用 MyEclipse 开发的现有 Struts 1 应用程序导入到 Intellij IDEA 15.0.3

java - SLF4J 使用 Logback,即使我的 pom.xml 中排除了 Logbag