我正在努力弃用一组 Java 类,以便不再使用它们。我不想关闭针对已弃用用法的编译器警告,但我发现如果我的一个已弃用类导入了另一个已弃用类,我也会收到警告。我不想修改我要弃用的代码,但我也不希望针对这些情况发出警告。在这些情况下,有没有办法(a)注释/注释代码以禁用警告(b)关闭编译器警告?我正在使用 NetBeans,因此如果有特定于 NetBeans 的方法,也可以使用。
这是一个简单的示例:
头等舱:
/**
* @deprecated No longer in use.
**/
@Deprecated
public class OldSubClass {
}
第二类:
import com.old.package.OldSubClass; // Don't want this to create a warning
/**
* @deprecated No longer in use.
**/
@Deprecated
public class OldClass {
// code that makes use of OldSubClass that I don't want to change ...
// Any methods that use OldSubClass are also deprecated ...
}
好的,这是允许我重现问题的最低限度(即使 @SupressWarnings 打开:
母类:
import another.pack.ChildClass;
@SuppressWarnings("deprecation")
public class MotherClass {
}
子类:
package another.pack;
/**
* @deprecated
*/
public class ChildClass {
}
请注意,JavaDoc @deprecated 标记甚至允许编译器抛出警告。如果我只使用 @Deprecated 注释,我永远不会收到警告(即使没有抑制)。
最佳答案
您可以使用其他注释:
@SuppressWarnings(“deprecation”)
您仅将此注释放置在母类中。导入 OldClass 时您将保留警告,但 OldSubClass 的“递归警告”将被忽略。
关于Java Deprecated Class 使用已弃用的类 -- 我可以关闭编译器警告吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3450356/