问题
What do these lines in my Java or Android project mean?
@SuppressWarnings("deprecation")
@SuppressWarnings("unused")
回答1:
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.
回答2:
One more thing: you can not only add them inline, but also annotate methods. F.ex.
@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.
回答3:
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.
回答4:
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"
}
来源:https://stackoverflow.com/questions/7397996/what-do-suppresswarningsdeprecation-and-unused-mean-in-java