为什么Oracle JDK Javadoc不包含严格的浮点修饰符?

问题描述

如果我在NetBeans Javadoc窗口中查看StrictMath.toradians(),则前两行显示

java.​lang.​StrictMath
public static strictfp double toradians(double angdeg)

这很有道理,因为我使用的JDK具有StrictMath.toradians()修饰符定义的strictfp。但是,如果我查看the StrictMath Javadoc online,就不会提及strictfp的任何内容。例如,toradians() Javadoc的第一行读取为

public static double toradians(double angdeg)

我正在使用JDK 1.8.0_241,运行时稍微提前了一点。可以肯定的是Oracle JDK。据我所知,StrictMath的JDK源代码中的Javadoc注释与上面链接的Oracle页面中发布的注释匹配。

是Javadoc工具忽略了strictfp修饰符,还是Oracle故意从生成StrictMath Javadoc HTML页面删除了它?

(我尝试为虚拟strictfp函数生成Javadoc,但似乎在尝试执行的项目中出现了很多看似无关的Javadoc错误)。

解决方法

正如Java 8的javadoc的{​​{3}}所说:

javadoc命令可以包含修饰符publicprotectedprivateabstractfinalstatictransientvolatile,但不是synchronizednativesynchronizednative修饰符被视为实现细节,而不是API规范的一部分。

它没有明确列出strictfp,但是由于strictfp是一个影响方法实现的功能,而不是方法的使用方式,因此被排除在外。