英文:
Why does the Oracle JDK Javadoc not include the strict floating point modifier?
问题
如果我在 NetBeans 的 Javadoc 窗口中查看 StrictMath.toRadians()
,前两行内容如下:
java.lang.StrictMath
public static strictfp double toRadians(double angdeg)
这是有道理的,因为我使用的 JDK 中 StrictMath.toRadians()
带有 strictfp
修饰符。然而,如果我在在线的 StrictMath
Javadoc 中查看,对于 strictfp
完全没有提及。例如,toRadians()
Javadoc 的首行内容如下:
public static double toRadians(double angdeg)
我使用的是 JDK 1.8.0_241,运行时略领先。相当确定这是 Oracle JDK。据我所知,JDK 源代码中 StrictMath
的 Javadoc 注释与上面链接的 Oracle 页面中的内容相符。
是 Javadoc 工具忽略了 strictfp
修饰符,还是 Oracle 故意从生成的 StrictMath
Javadoc HTML 页面中去掉了它?
(我尝试为一个虚拟的 strictfp
函数生成 Javadoc,但在我尝试做的那个项目中出现了许多看似无关的 Javadoc 错误)。
英文:
If I look at the StrictMath.toRadians()
in the NetBeans Javadoc window, the top two lines read
java.lang.StrictMath
public static strictfp double toRadians(double angdeg)
That makes sense, since the JDK I'm using has StrictMath.toRadians()
defined with the strictfp
modifier. However, if I look at the StrictMath
Javadoc online, I see no mention whatsoever of strictfp
. The top line of the toRadians()
Javadoc, for example, reads
public static double toRadians(double angdeg)
I'm using the JDK 1.8.0_241, the runtime is slightly ahead. Fairly certain it's the Oracle JDK. As far as I can tell, the Javadoc comments in the JDK source for StrictMath
match what is posted in the Oracle page linked above.
Is it that the Javadoc tool ignores the strictfp
modifier or is it that Oracle deliberately took it out of the generated StrictMath
Javadoc HTML pages?
(I tried to generate Javadoc for a dummy strictfp
function, but it seems I've got a whole bunch of seemingly unrelated Javadoc errors in the project I tried to do that in).
答案1
得分: 3
根据Java 8的javadoc文档所述:
> javadoc
命令可以包括修饰符public
、protected
、private
、abstract
、final
、static
、transient
和volatile
,但不包括synchronized
或native
。synchronized
和native
修饰符被视为实现细节,不属于API规范的一部分。
文档没有明确列出strictfp
,但由于strictfp
是影响方法实现而不是使用方式的特性,因此出于这个原因被排除在外。
英文:
As the documentation of javadoc
for Java 8 says:
> The javadoc
command can include the modifiers public
, protected
, private
, abstract
, final
, static
, transient
, and volatile
, but not synchronized
or native
. The synchronized
and native
modifiers are considered implementation detail and not part of the API specification.
It doesn't explicitly list strictfp
, but since strictfp
is a feature that affects the implementation of the method, not how it is used, it is excluded for that reason.
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论