我有以下结构:
if (obj.isSomethingable()){
// do something }
如果obj.isSomethingable()为false,我怎么能输入条件?我不能从obj修改布尔实例?
答案 0 :(得分:4)
您可以使用eclipse的Display选项卡执行代码//执行某些操作。
所以如果你有:
if(obj.isSomethingable())
{
int var =5;
System.out.println(var+8);
}
然后在显示选项卡中的if断点处,您可以输入:
int var =5;
System.out.println(var+8);
然后突出显示全部并单击放大镜以查看该代码的输出结果。
答案 1 :(得分:1)
萨吕,
在Debug透视图中,打开“variables”选项卡。你可以选择你的对象并改变它的价值。这适用于基元或简单对象,但不适用于复杂对象。 我尝试了以下内容:
return new MyObj() {
public boolean isSomething() {
return true;
}
};
但是eclipse不允许你使用匿名类。 你可以尝试使用模拟或其他东西。谷歌mockito,看看它是否适合你。
Tiberiu
答案 2 :(得分:0)
在执行if
之前,请使用调试器更改obj
的状态,使isSomethingable()
返回true。
答案 3 :(得分:0)
看起来这样做的唯一方法是修改源代码。
boolean bol = obj.isSomethingable();
if (bol) { ... }
之后,您可以将变量的变量更改为true。