java—为什么eclipse在调试时不显示变量?

58wvjzkj  于 2021-07-08  发布在  Java
关注(0)|答案(0)|浏览(209)

在开发过程中,我不想在声明布尔值时初始化它,因为我需要确保以后正确设置它的值,因此我不希望它有默认值。
代码如下所示:

Boolean newOffer;

//section A
try {
//section A.2
    newOffer = name.getText().equalsIgnoreCase("something");
} catch (Exception e){
    System.err.println(e);
}

//section B
try {
    newOffer = someTestThatReturnsABool();
    System.out.println("ok");
} catch (Exception e) {
    //section B.2
    System.out.println("not ok");
    e.printStackTrace();
}

if (newOffer) {
    doSomething();
}

在评论中 section A - newOffer 不包括在活动变量列表中( Window → Show view → Variables ). 我想这很好,因为它没有初始化(但仍然应该列为void、null或类似的东西)。
如果水流通过 section A.2 - newOffer 初始化,它出现在变量列表中,我认为这是预期的。然而,一旦我走出这一步 try-catch -阻止, newOffer 从变量列表中消失,只是在 newOffer = someTestThatReturnsABool(); 已经被执行了。
就像我一开始就宣布了一样 try-catch -块,我肯定没有,因此当我离开该块时,它是unassigned/gc之类的。
这仅仅是一些奇怪的Eclipse行为还是预期的?我想核实一下 newOffer 之前在线 section B . 如果变量列表中没有列出,可以这样做吗?
我试着打印 newOffer 就在之前 section B 但它不会编译,因为它可能没有初始化(而且您不能初始化) booleansvoid ). 我可以打印它的a.2节,但这是毫无意义的,因为当我在那里,它列在变量列表无论如何。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题