在Java中抑制不推荐使用的导入警告

时间:2009-12-07 05:37:00

标签: java import deprecated suppress-warnings

在Java中,如果导入已弃用的类:

import SomeDeprecatedClass;

您收到此警告:The type SomeDeprecatedClass is deprecated

有没有办法抑制此警告?

7 个答案:

答案 0 :(得分:132)

为避免警告: 导入类

使用完全限定的类名

并尽可能少地使用它。

答案 1 :(得分:116)

在您的班级或方法上使用此注释:

@SuppressWarnings( "deprecation" )

答案 2 :(得分:11)

作为黑客攻击,您无法进行导入并在代码中使用完全限定名称。

你也可以尝试javac -Xlint:-deprecation不确定是否可以解决它。

答案 3 :(得分:9)

我通过将导入更改为:

来解决此问题
import package.*

然后使用@SuppressWarnings("deprecation")

注释使用弃用类的方法

答案 4 :(得分:5)

假设您使用不推荐使用的方法(例如java.sql.ResultSet中的getUnicodeStream(String columnLabel))覆盖/实现接口,那么仅使用注释@SuppressWarnings(“”不会消除弃用警告弃用“),除非您还使用@Deprecated注释注释相同的新方法。这是合乎逻辑的,因为否则您可以通过覆盖其接口描述来“取消激活”方法。

答案 5 :(得分:2)

你可以使用:

  

javac FileName.java -Xlint:-deprecation

但是这会给你警告,并告诉你导致弃用或使用弃用API的代码部分。现在要么您可以使用这些警告运行代码,要么在代码中进行适当的更改。

就我而言,我使用的是someListItem.addItem("red color"),而编译器则希望我使用someListItem.add("red color");

答案 6 :(得分:0)

如果 @SuppressWarnings("deprecation") 不适合你,就像我一样。您可以在声纳 lint 插件中找到确切的鱿鱼编号。然后你可以简单地抑制警告:@SuppressWarnings("squid:CallToDeprecatedMethod")

enter image description here