2

如何BigDecimal在 Eclipse 中的变量部分进行调试时提供值?

例如:

BigDecimal bd = new BigDecimal(21);
if(bd.equals(new BigDecimal(20))) {
..
}

我已经在语句上设置了断点if,现在我想将bd值更改为20,以便我的if块在调试时执行。我已经尝试了很多方法,但我得到了一个错误。

我试过new BigDecimal(21)了,但我得到了一个错误。

4

5 回答 5

6

您需要使用类的完整名称:

new java.math.BigDecimal()
于 2013-10-14T21:55:53.373 回答
1
  • 确保变量“bd”未标记为 final
  • 转到变量选项卡,右键单击“bd”
  • “改变价值……”
  • 输入新的 java.math.BigDecimal(21), "OK"
于 2013-04-19T20:17:13.370 回答
1

如果您在调试过程中遇到调试视图的任何限制,那么只需在您已经打开的 Java 编辑器中编写一行代码,例如

bd = new BigDecimal(42);

选择新编写的代码,然后从上下文菜单中选择“执行”。然后点击CtrlZ删除该代码并继续调试。任何时候都不要保存编辑器!

这样您就可以在调试会话期间执行任意修复。

于 2013-04-20T05:41:47.053 回答
0

在调试时修改 BigDecimal 变量的值时我也遇到了一些问题,但我发现了一个可能对您有帮助的小技巧:在 Java 类中复制您正在调试的一些代码以修改变量,例如myVar = myVar.add(new BigDecimal(1))(在这个例如,myVar是一个 BigDecimal 变量,我将其添加 1) 并评估该表达式 (Ctrl + Shift + i),它将分配新值。当然,在继续执行之前,您应该保存原始值并重新分配它,这只是一种解决方法。
希望它有帮助,问候。

于 2014-11-03T16:43:22.910 回答
0

在 Eclipse 的“更改对象值”对话框中输入

java.math.BigInteger.valueOf(20)

您不能使用 BigInteger(YOUR_INT) 创建 BigInteger,因为此构造函数不是公共的。转到 Eclipse 中的变量视图并打开“更改对象值”(右键单击要更改的 BigInteger 类型的变量)。 更改对象值对话框

于 2019-03-30T15:21:25.013 回答