【发布时间】:2010-04-06 06:52:37
【问题描述】:
我在网上搜索了一下,发现是这样的:
为了让编译器警告你 您使用了哪些方法的详细信息 不推荐使用
javac.exe-deprecation开关。然后在 Javadoc 中查找不推荐使用的方法 找出推荐的替代品。 有时你只需要重命名。 有时替代品工作得很好 不同。
但我不太明白它是如何工作的,有人可以帮我解决这个问题吗?
【问题讨论】:
标签: java deprecated
我在网上搜索了一下,发现是这样的:
为了让编译器警告你 您使用了哪些方法的详细信息 不推荐使用
javac.exe-deprecation开关。然后在 Javadoc 中查找不推荐使用的方法 找出推荐的替代品。 有时你只需要重命名。 有时替代品工作得很好 不同。
但我不太明白它是如何工作的,有人可以帮我解决这个问题吗?
【问题讨论】:
标签: java deprecated
方法弃用是为了警告程序员该方法目前不是用于所需功能的最佳方法。这是通过使用@deprecated javadoc 注释来完成的。当您对javac 使用-deprecated 标志时,它只是告诉javac 在看到这些javadoc 注释时发出警告。它告诉您使用不推荐使用的方法的行号,以及不推荐使用的方法的名称。
从那里,您可以在 Sun(呃...Oracle)网站上查看 JDK 的 javadoc,以了解获得所需功能的建议。有时,替换涉及进行多个方法调用,而您过去只会调用一个。通常,文档会很好地为您提供示例,并在有新的做事方式时为您指明正确的方向。
【讨论】:
-deprecated 标志无效,使用时会导致Fatal error compiling: invalid flag: -deprecated。如上问题所述,正确的标志是-deprecation。旁注:我无法编辑答案,因为增量为
要找出已弃用的方法和类,请按照引用的文字说明进行操作。您使用“-deprecation”开关进行编译,有问题的方法/类将显示为编译警告消息。 (如果您使用的是 IDE,则将通过其他方式启用/禁用弃用警告。)
如果您实际上是在询问编译器如何知道一个方法或类已被弃用,答案是通过将“@deprecated”标记放入相应的 javadoc 注释中来将一个类或方法标记为已弃用。 java 编译器注意到这一点,并在编译类时在字节码文件中设置一个属性。然后,当您尝试在代码中使用类/方法时,java 编译器会读取字节码、记录属性并输出警告消息。
弃用旨在向开发人员强烈暗示不应再使用所讨论的方法或类。不推荐使用的类或方法通常有一些缺陷(主要或次要),如果不破坏现有代码就无法修复。而是实施了不兼容的替换,需要您对源代码进行一些更改。
理论上,不推荐使用的类和方法可能会在未来的版本中被删除。虽然 Sun 很少(如果有的话)这样做,但第三方库开发人员更愿意在清理其 API 时删除已弃用的方法。
【讨论】:
如果您为正在使用的类附加了所需的 javadoc,您可以使用任何 IDE,例如 eclipse,它可以在编程时显示已弃用的方法。
【讨论】:
您可以使用 NetBeans IDE。它将通过打击该方法显示不推荐使用的方法,您还可以查看原因和替代方法。
【讨论】: