Eclipse Debug,更改BigDecimal上的变量值

时间:2013-04-19 19:31:43

标签: java eclipse debugging bigdecimal

如何在Eclipse的Variables部分调试时提供BigDecimal值?

例如:

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

我在if语句中设置了断点,现在我想将bd值更改为20,以便在调试时执行if块。我尝试了很多方法,但是我收到了错误。

我试过了new BigDecimal(21)但是我收到了错误。

5 个答案:

答案 0 :(得分:5)

您需要使用该类的完全限定名称:

new java.math.BigDecimal()

答案 1 :(得分:1)

  • 确保变量“bd”未标记为最终
  • 转到“变量”标签,右键单击“bd”
  • “改变价值......”
  • 输入新的java.math.BigDecimal(21),“确定”

答案 2 :(得分:1)

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

bd = new BigDecimal(42);

选择新编写的代码,然后从上下文菜单中选择“Execute”。然后点击 Ctrl Z 删除该代码并继续调试。不要随时保存编辑器!

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

答案 3 :(得分:0)

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

答案 4 :(得分:0)

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

java.math.BigInteger.valueOf(20)

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

相关问题