Java Deprecated Class 使用已弃用的类 -- 我可以关闭编译器警告吗?

标签 java netbeans compiler-warnings

我正在努力弃用一组 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/

相关文章:

java - 未找到 Conexion 类

java - Java中评估的 boolean 表达式顺序?

java - 按钮上的多个点击监听器

java - IOException 不执行任何操作

java - 在 Java JFrame 上添加图像 - Netbeans

java - 带有 jdk 9 的 Netbeans 8.2

c++ - 为什么 C4265 Visual C++ 警告(虚拟成员函数和无虚拟析构函数)默认关闭?

c++ - gcc:如何正确使用 __attribute((__may_alias__)) 以避免 "derefencing type-punned pointer"警告

java - 获取转到 404 未找到 Tomcat 的 URL

java - 是否有可能在 querydsl 中使用 JPAUpdateClause 进行批量更新?