由于 Javadoc,避免在替换 class 时抑制 "deprecated"
Avoid suppressing "deprecated" in the replacing class due to Javadoc
我有一个旧的 class,我已经用 @Deprecated
注释弃用了它。同时,我制作了另一个 class 来替换已弃用的 class.
在那个新的 class' Javadoc 中,我提到它旨在取代已弃用的 class。这导致已弃用的 class 被导入,并给了我已弃用的警告。要删除警告,我必须使用 @SuppressWarnings("deprecation")
注释。结果是我的新 class 看起来像是在使用不推荐使用的东西。
示例:
/**
* Deprecated class.
* @deprecated Replaced by @{link ReplacingClass}
*/
@Deprecated
public class DeprecatedClass {}
替换class:
import com.test.example.DeprecatedClass;
/**
* This class replaces the deprecated class @{link DeprecatedClass}
*/
@SuppressWarnings("deprecation")
public class ReplacingClass {}
我能做些什么来防止这种情况发生?
您 没有 导入 class 以在 Javadoc 中引用它。引用 class 有两种选择。您可以使用完全限定的 class 名称,或者如果 class 在搜索 space:
中,则可以使用简单的 class 名称
- the current class or interface
- any enclosing classes and interfaces, searching closest first
- any superclasses and superinterfaces, searching closest first
- the current package
- any imported packages, classes and interfaces, searching in the order of the import statement
在您的情况下,导入 (5) 会导致弃用警告,因此您可以只使用已弃用 class 的完全限定 class 名称:
/**
* This class replaces the deprecated class @{link com.test.example.DeprecatedClass}
*/
public class ReplacingClass {}
或者两个class在同一个包中,只需要去掉import
语句即可。
我有一个旧的 class,我已经用 @Deprecated
注释弃用了它。同时,我制作了另一个 class 来替换已弃用的 class.
在那个新的 class' Javadoc 中,我提到它旨在取代已弃用的 class。这导致已弃用的 class 被导入,并给了我已弃用的警告。要删除警告,我必须使用 @SuppressWarnings("deprecation")
注释。结果是我的新 class 看起来像是在使用不推荐使用的东西。
示例:
/**
* Deprecated class.
* @deprecated Replaced by @{link ReplacingClass}
*/
@Deprecated
public class DeprecatedClass {}
替换class:
import com.test.example.DeprecatedClass;
/**
* This class replaces the deprecated class @{link DeprecatedClass}
*/
@SuppressWarnings("deprecation")
public class ReplacingClass {}
我能做些什么来防止这种情况发生?
您 没有 导入 class 以在 Javadoc 中引用它。引用 class 有两种选择。您可以使用完全限定的 class 名称,或者如果 class 在搜索 space:
中,则可以使用简单的 class 名称
- the current class or interface
- any enclosing classes and interfaces, searching closest first
- any superclasses and superinterfaces, searching closest first
- the current package
- any imported packages, classes and interfaces, searching in the order of the import statement
在您的情况下,导入 (5) 会导致弃用警告,因此您可以只使用已弃用 class 的完全限定 class 名称:
/**
* This class replaces the deprecated class @{link com.test.example.DeprecatedClass}
*/
public class ReplacingClass {}
或者两个class在同一个包中,只需要去掉import
语句即可。