Javadoc - 常量字段的值未正确显示
Javadoc - Values of constant fields not displaying properly
我正在为我的一个项目创建文档,我 运行 遇到了一个问题,即某些字符在“常量字段值”部分中无法正确显示。在我的例子中,这些字母是“š,č,ć,ž,đ”。
这是我的简单代码示例:
/**
* _insert MainClass doc ščšđčžćđš_
*
* @author Bob
*/
public class MainClass {
private static final String COOL_LETTERS = "č-š-ć-đ-ž";
private static final String NORMAL_LETTERS = "a-b-c-d-e";
/**
* _insert main method doc đščđščšč_
*
* @param args Arguments đšpšč
*/
public static void main(String[] args) {
System.out.println("Some normal letters: " + NORMAL_LETTERS);
System.out.println("Some cool letters: " + COOL_LETTERS);
}
}
运行使用 javadoc 工具后,我得到以下结果:
然后单击常量字段
如第一张图片所示,类 和 methods 的文档中的特殊字符会正常显示,但不在 字符串常量的值 中,如第二张图片所示。它们显示为 /uABCD
- 项目编码设置为utf8
- 我在创建javadoc时添加了-encoding "UTF-8" -docencoding "UTF-8" -charset "UTF-8"参数
有没有办法让这些字符正确显示?
JavaDoc 有一些硬编码方法来表示 常量字段 table 中的常量表达式。这无法配置或影响。
这尤其包括通过仅复制未修改的 printable ASCII 字符来打印字符串表达式。所有其他字符都作为 Unicode 转义符复制。
这将生成 Java 源代码,它看起来不太好,但确实会生成完全相同的字符串内容(并且对源代码或文档编码不太敏感)。大概就是这个原因吧。
除非您 运行 您自己的 Javadoc 工具的修改版本或 post 处理生成的 HTML(可能在子类 Doclet 中),否则您无法避免这种情况).它是在实际标准 Doclet 用于输出之前完成的。
我正在为我的一个项目创建文档,我 运行 遇到了一个问题,即某些字符在“常量字段值”部分中无法正确显示。在我的例子中,这些字母是“š,č,ć,ž,đ”。
这是我的简单代码示例:
/**
* _insert MainClass doc ščšđčžćđš_
*
* @author Bob
*/
public class MainClass {
private static final String COOL_LETTERS = "č-š-ć-đ-ž";
private static final String NORMAL_LETTERS = "a-b-c-d-e";
/**
* _insert main method doc đščđščšč_
*
* @param args Arguments đšpšč
*/
public static void main(String[] args) {
System.out.println("Some normal letters: " + NORMAL_LETTERS);
System.out.println("Some cool letters: " + COOL_LETTERS);
}
}
运行使用 javadoc 工具后,我得到以下结果:
然后单击常量字段
如第一张图片所示,类 和 methods 的文档中的特殊字符会正常显示,但不在 字符串常量的值 中,如第二张图片所示。它们显示为 /uABCD
- 项目编码设置为utf8
- 我在创建javadoc时添加了-encoding "UTF-8" -docencoding "UTF-8" -charset "UTF-8"参数
有没有办法让这些字符正确显示?
JavaDoc 有一些硬编码方法来表示 常量字段 table 中的常量表达式。这无法配置或影响。
这尤其包括通过仅复制未修改的 printable ASCII 字符来打印字符串表达式。所有其他字符都作为 Unicode 转义符复制。
这将生成 Java 源代码,它看起来不太好,但确实会生成完全相同的字符串内容(并且对源代码或文档编码不太敏感)。大概就是这个原因吧。
除非您 运行 您自己的 Javadoc 工具的修改版本或 post 处理生成的 HTML(可能在子类 Doclet 中),否则您无法避免这种情况).它是在实际标准 Doclet 用于输出之前完成的。