为什么我不能在某些返回语句上设置断点?

时间:2017-05-26 14:33:25

标签: java android

考虑使用Android studio编写的这个简单的程序片段: enter image description here

enter image description here

当你在函数内部放置break指针时,如果返回类型是boolean或整数android studio告诉你第一个return语句中没有可执行代码。但是如果返回类型是String,则它可以工作。实际上对于int和boolean返回类型,如果第一个return语句实际被命中,调试器将突出显示第二个return语句。这显然是错的。我试过几个项目,这种行为是一致的。

我在eclipse中使用相同的代码编写了一个普通的java应用程序。我没有看到那里发生这种错误。我不确定这是Android工作室IDE错误还是真的没有可执行代码。如果那里确实没有可执行代码,为什么?

1 个答案:

答案 0 :(得分:1)

这似乎是intellij为您优化代码的结果。

if (time % 2 == 0) {
  return true;
}
return false;

可以写成

return time % 2 == 0;

请注意,屏幕截图中的if有一个“提示”,可能是“简化”,以进行此转换。