【发布时间】:2015-08-26 02:45:15
【问题描述】:
我用 Eclipse IDE 为我在 java 中做的一个类编写了一个辅助方法。该方法的代码如下
private foo getfooMonitor(String id)
{
if(fooList.isEmpty())
{
if (Mgr.getValue(Name, ListPath + id) == null)
{
return null;
}
}
else
{
for(foo f : fooList)
{
if(f.getID().equalsIgnoreCase(id))
{
return foo;
}
}
return null;
}
}
我很好奇为什么该方法会被强制返回一些东西,因为它有一个 if then else 块,无论如何都有一个 return 语句命中,为什么 eclipse 会认为我没有返回语句?
这个 Eclipse 是否强制执行一些奇怪的语法,因为它无法解析 if then else 块以查看该方法将被强制返回,或者这是一个 java 的东西,不允许 non void 方法有效,除非它有return 语句作为方法体中的最后一行?
【问题讨论】:
-
如果
Mgr.getValue不是null,你会返回什么? -
@SotiriosDelimano 是一个辅助函数,因此如果调用代码的返回值为 null,则需要处理代码。
-
您认为哪个更有可能:Eclipse 错了,还是您的代码错了?
-
如果
Mgr.getValue不是null,getfooMonitor方法会返回什么? -
@SotiriosDelimanolis 啊,明白了。当你指出时才注意到。不是想问一个愚蠢的问题,或者如果有什么我不知道的事情真的很好奇。
标签: java eclipse methods syntax ide