java-修改成员变量会导致跳过行
关闭它看起来与IDE(Eclipse)相关。我用相同的代码和不同的名称构建了一个单独的类,它工作得很好。尝试过清洁、重启等 更新的测试代码我在这里被难住了,我猜这是件愚蠢的事情。我已经将代码缩减到了这一步,它再现了这个问题 这将执行java-修改成员变量会导致跳过行,java,Java,关闭它看起来与IDE(Eclipse)相关。我用相同的代码和不同的名称构建了一个单独的类,它工作得很好。尝试过清洁、重启等 更新的测试代码我在这里被难住了,我猜这是件愚蠢的事情。我已经将代码缩减到了这一步,它再现了这个问题 这将执行mMemberVar=2然后导致立即返回。添加(日历年的第1天)。然后跳到返回null 这是因为它是可序列化的,并且修改它自己的成员变量时有些奇怪吗?我在上面找不到任何东西 public class Alarm implements Serializable {
mMemberVar=2
然后导致立即返回。添加(日历年的第1天)要跳过的代码>。然后跳到返回null代码>
这是因为它是可序列化的,并且修改它自己的成员变量时有些奇怪吗?我在上面找不到任何东西
public class Alarm implements Serializable {
int mMemberVar = 0;
public Calendar nextTime() {
Calendar now = Calendar.getInstance();
if (true) {
if (true) {
if (true) {
mMemberVar = 2;
// return is skipped
now.add(Calendar.DAY_OF_YEAR, 1);
return now;
}
}
now.add(Calendar.DAY_OF_YEAR, 2);
return now;
}
return null;
}
}
可能您的IDE甚至没有重新编译您在这里编写的代码。我猜这是因为没有返回任何内容,所以您显示的代码根本无法编译
所以基本上,您运行的是一个旧版本的代码,它总是返回null。尝试在IDE中执行“清理”然后“重建”或类似操作。日历的add
方法返回void
。您应该将add(…)
放在返回行之前,然后立即返回代码>取而代之。您可以使用如下代码。。。添加返回无效
import java.io.Serializable;
import java.util.Calendar;
public class Alarm implements Serializable {
int mMemberVar = 0;
public Calendar nextTime() {
Calendar now = Calendar.getInstance();
if (true) {
if (true) {
if (true) {
mMemberVar = 2;
// return is skipped
now.add(Calendar.DAY_OF_YEAR, 1);
return now;
}
}
now.add(Calendar.DAY_OF_YEAR, 2);
return now;
}
return null;
}
}
对不起大家。我现在犯的错误。添加(…)。我已经修复了测试代码,但它仍然存在。我也清理和重建了。@Kirk对不起,我不能重现这个问题。请参见:。尝试添加System.out.println(“helloworld!”)
在该方法的开头,以确保代码已编译。它看起来与IDE(Eclipse)相关。我用相同的代码和不同的名称构建了一个单独的类,它工作得很好。尝试过清洁、重新启动等。你可能是对的,只需要找出如何彻底清洁它