在Java中,如果导入已弃用的类:
import SomeDeprecatedClass;
您收到此警告:The type SomeDeprecatedClass is deprecated
有没有办法抑制此警告?
答案 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)