@ SuppressWarnings (“弃用”)和(“未使用”)在 Java 中意味着什么?

我的 Java 或 Android 项目中的这些代码行是什么意思?

@SuppressWarnings("deprecation")
@SuppressWarnings("unused")
111874 次浏览

The @SuppressWarnings annotation disables certain compiler warnings. In this case, the warning about deprecated code ("deprecation") and unused local variables or unused private methods ("unused"). This article explains the possible values.

In Java, @SuppressWarnings are use to restrict the compiler to show the certain warning on the console screen.

E.g

@SuppressWarnings("unused")
CheckBox transferredField = new CheckBox("is transferred");

if I don't use transferredField variable in my code then your Eclipse IDE never show the warning that you are not using this transferredField variable in your code.

the @SuppressWarnings("unused") and others i have tried,but it don't work,and i always use the method say gradle in this project to

lintOptions{
checkReleaseBuilds false
abortOnError  false;
disable 'deprecation'
}


tasks.withType(JavaCompile) {
options.compilerArgs << "-Xlint:unchecked" << "-Xlint:deprecation"
}

One more thing: you can not only add them inline, but also annotate methods. For example

@Override
@SuppressWarnings("deprecation")
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.preferences);
}

Yet, it is recommended to use the smallest scope possible

As a matter of style, programmers should always use this annotation on the most deeply nested element where it is effective. If you want to suppress a warning in a particular method, you should annotate that method rather than its class.