当我在Android Studio中为项目创建抽屉栏时,在选择项的代码中放入下一个:
@SuppressWarnings("StatementWithEmptyBody")
@Override
public boolean onNavigationItemSelected(MenuItem item) {
但是此注释的用途是什么?
答案 0 :(得分:4)
如果未在该方法中插入任何代码,则注释将确保未对该方法生成任何警告。
答案 1 :(得分:4)
警告本身会解释含义。
onNavigationItemSelected
的返回类型为boolean.
,我们需要返回任何boolean
值。
如果if
中有onNavigationItemSelected
个条件但未返回,则需要添加@SuppressWarnings("StatementWithEmptyBody")
。
示例:
@Override
public boolean onNavigationItemSelected(@NonNull MenuItem item) {
int id = item.getItemId();
if (id == R.id.xyz) {
// you should return boolean value here.
}
return false;
}
在示例中,我们默认返回false
。而且我们还没有返回任何值
if (id == R.id.xyz)
条件。
您可以清楚地看到警告。
答案 2 :(得分:3)
当大括号内有没有代码的语句时,Android Studio会对此发出警告。该注释会在具有此注释的方法中禁止显示此警告。
主体为空的语句示例(“ else”部分的主体为空):
if (something) {
doThis();
} else {
}
这些警告非常有用,可让您仔细检查是否忘记编写代码。仅在有充分理由时才关闭它们(带有注释)。
答案 3 :(得分:3)
这可以防止类似的事情发生:
if(condition)
{
//empty body
}
OR
private void methodeName(){
//empty body
}
引发的错误迫使您显式放置空{}
我可能应该澄清,抑制确实有优点的警告是一件愚蠢的事情。通过作弊获得健康的健康账单显然一文不值。在做出选择之后,您应该始终解决编译器注意到的问题,而不是仅仅视而不见。但是,在某些区域中,编译器无法确定是否会出现问题(Java的泛型就是其中一个区域),更好的选择是查看每个此类实例,然后在此特定位置隐藏警告,而不是而不是完全关闭此类警告并可能错过真正的警告。