StatementWithEmptyBody 的目的是什么?
What is the purpose of StatementWithEmptyBody?
当我在 Android Studio 中为我的项目创建抽屉栏时,在 select 项目的代码中放置下一个:
@SuppressWarnings("StatementWithEmptyBody")
@Override
public boolean onNavigationItemSelected(MenuItem item) {
但是这个注解有什么用呢?
如果您没有在该方法中插入任何代码,注释将确保不会为该方法生成警告。
当你有一个大括号内没有代码的语句时,Android Studio 将对此发出警告。注释在具有此注释的方法中抑制此警告。
空体语句示例("else"部分的体为空):
if (something) {
doThis();
} else {
}
这些警告非常有用,可让您仔细检查是否没有忘记编码。仅在有充分理由时才关闭它们(带有注释)。
警告本身解释了含义。
return onNavigationItemSelected
的类型是 boolean.
我们需要 return 任何 boolean
值。
如果 onNavigationItemSelected
中有 if
条件但没有 return 则 @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;
}
在示例中,我们默认 returning false
。 return
中没有任何值
if (id == R.id.xyz)
条件.
warning你可以清楚的看一下
这可以防止以下情况:
if(condition)
{
//empty body
}
或
private void methodeName(){
//empty body
}
出现的错误迫使您显式地放置空的 {}
我可能应该澄清一下,抑制确实有价值的警告是一件愚蠢的事情。靠作弊得到的一份干净的健康证明显然一文不值。如果有选择,您应该始终修复编译器注意到的问题,而不是只是对它视而不见。然而,有些地方编译器无法确定某些东西是否会成为问题(Java 的泛型就是这样的一个地方),更好的选择是检查每个这样的实例然后抑制在此特定位置发出警告,而不是完全关闭此 class 警告,这样可能会错过真正的警告。
当我在 Android Studio 中为我的项目创建抽屉栏时,在 select 项目的代码中放置下一个:
@SuppressWarnings("StatementWithEmptyBody")
@Override
public boolean onNavigationItemSelected(MenuItem item) {
但是这个注解有什么用呢?
如果您没有在该方法中插入任何代码,注释将确保不会为该方法生成警告。
当你有一个大括号内没有代码的语句时,Android Studio 将对此发出警告。注释在具有此注释的方法中抑制此警告。
空体语句示例("else"部分的体为空):
if (something) {
doThis();
} else {
}
这些警告非常有用,可让您仔细检查是否没有忘记编码。仅在有充分理由时才关闭它们(带有注释)。
警告本身解释了含义。
return onNavigationItemSelected
的类型是 boolean.
我们需要 return 任何 boolean
值。
如果 onNavigationItemSelected
中有 if
条件但没有 return 则 @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;
}
在示例中,我们默认 returning false
。 return
if (id == R.id.xyz)
条件.
warning你可以清楚的看一下
这可以防止以下情况:
if(condition)
{
//empty body
}
或
private void methodeName(){
//empty body
}
出现的错误迫使您显式地放置空的 {}
我可能应该澄清一下,抑制确实有价值的警告是一件愚蠢的事情。靠作弊得到的一份干净的健康证明显然一文不值。如果有选择,您应该始终修复编译器注意到的问题,而不是只是对它视而不见。然而,有些地方编译器无法确定某些东西是否会成为问题(Java 的泛型就是这样的一个地方),更好的选择是检查每个这样的实例然后抑制在此特定位置发出警告,而不是完全关闭此 class 警告,这样可能会错过真正的警告。