如何在Java文档中导航到有关已弃用类的信息性消息?
我在其他答案中看到过类似的内容:
来自StringTokenizer
文档:
StringTokenizer是为保持兼容性而保留的旧类 原因虽然在新代码中不鼓励使用它。建议 任何寻求此功能的人都使用String的split方法 或者改为java.util.regex包。
但是,如何在Java文档中获取这条信息性消息?我只能看到顶部的DEPRECATED链接。我需要额外的信息,以便我可以理解它被弃用的原因并使用它的替代方案。
答案 0 :(得分:3)
没有任何可靠的方法可以做到这一点。您找到的文本是关于课程的非正式建议。此类未正式弃用。不推荐使用意味着Java上下文中非常具体的内容。它比&#34更强大;在新代码" 中不鼓励使用。
如果某个类或类成员在Java中实际已弃用,您将在源代码中看到@Deprecated
注释。这就是Java工具链所关注的。在适当的情况下,可能还有一个@deprecated
javadoc标记,其中包含替代方案的解释和建议。那就是变成了##;弃用:"前往javadocs。
查找您已识别的示例之类的非正式建议可能需要在Java库代码库或javadoc树中搜索关键短语,例如" legacy"并且"不推荐"。然后,您需要手动过滤掉误报。
答案 1 :(得分:1)
大多数情况下,弃用课程的原因是因为找到了更好的替代方案,或者因为它不再需要。
至于你提到的deprecated link at the top
,我认为你的意思是:https://docs.oracle.com/javase/8/docs/api/deprecated-list.html
好吧,就像你说的那样,那些 你会发现所有的信息,而且它们也很具描述性。
让我们以构造函数Date(int year, int month, int day)
为例,如果向下滚动到deprecated constructor section,您可以找到以下内容:
java.sql.Date(int,int,int)
而是使用构造函数Date(长日期)
并且对于JDK中标有@Deprecated
注释的每个类/方法/接口都做同样的事情。
此外,对于StringTokenizer
,如果您只是在您引用的行下方阅读,则说明如下:
以下示例说明了String.split方法的用法 用于将字符串分解为其基本标记:
String[] result = "this is a test".split("\\s"); for (int x=0; x<result.length; x++) System.out.println(result[x]);
基本上,不再需要StringTokenizer
,因为String
对象现在有split
方法,这会使StringTokenizer
无用。