@SuppressWarnings(“ deprecation”)和(“ unused”)在Java中是什么意思?


Answers:


110

@SuppressWarnings注释禁用某些编译器警告。在这种情况下,将发出有关不建议使用的代码("deprecation")和未使用的局部变量或未使用的私有方法("unused")的警告。本文介绍了可能的值。


6

在Java中,@SuppressWarnings用于限制编译器在控制台屏幕上显示某些警告。

例如

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

如果我transferredField在代码中不使用变量,那么您的Eclipse IDE永远不会显示警告,指出您不在transferredField代码中使用此变量。


6

还有一件事:您不仅可以内联添加它们,还可以注释方法。F.ex.

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

但是,建议使用尽可能小的范围

作为样式问题,程序员应始终在最有效嵌套的最深层元素上使用此注释。如果要在特定方法中禁止显示警告,则应注释该方法而不是其类。


-4

@SuppressWarnings("unused")和其他人我都试过了,但它不工作,我总是使用的方法的gradle说在这个项目中来

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

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

4
请不要在整个项目中禁用警告。禁用警告的范围应尽可能具体,您可以确切地知道在这种情况下可以忽略的原因。将它们隐藏在整个项目中还将隐藏您应该考虑更改而不是忽略的合理问题。
迈克尔·彼得森
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.