gpt4 book ai didi

十六进制形式的静态字节的 Javadoc 值

转载 作者:行者123 更新时间:2023-11-30 10:52:52 24 4
gpt4 key购买 nike

我在一个类中有一些 static final byte 字段:

public static final byte    TOP_LEFT_SIGNAL     = 0x0F;
public static final byte TOP_CENTER_SIGNAL = 0x1F;
public static final byte TOP_RIGHT_SIGNAL = 0x3F;

我正在为一些类方法编写文档,例如:

/**
* Takes a signal byte and returns an encoded message (byte array).
* <p>
* Example:
* <pre>
* Input - {@value #TOP_LEFT_SIGNAL} (TOP_LEFT_SIGNAL)
*
* Output - [0x00, 0x0F, 0x52, 0x53]
* </pre>
*
* @param b
* - signal byte.
* @return an encoded message (byte array).
*/
public static final byte[] encodeMsg(byte b) {
return addTail(b);
}

上述文档输出 Input - {@value #TOP_LEFT_SIGNAL} (TOP_LEFT_SIGNAL) 行,如下所示:

Input - 15 (TOP_LEFT_SIGNAL)   // 15 is underlined and linked to the static variable


我的两个问题:

  1. 有没有办法以十六进制格式输出静态值前导 0x(0x0F 而不是 15)?比如,Input - {@value Integer#toHexString(Foo#TOP_LEFT_SIGNAL)}

  2. 我能否使值(本例中的 15)不是下划线没有链接到静态字段,同时仍然使用静态字段的值?

我的问题有可能吗?

推理:

我目前将文字字节值 (0x0F) 放入文档中。我想要自动化的原因是因为这是一个实用程序类,我已经为其编写了方法和一些常量。当我编写使用这个实用程序类的核心类时,我发现自己需要添加常量而不是更改方法。常量被分成不同的字节 block ,如 0x40 - 0x4F,更大的值意味着更重的含义。因此,当我插入一个权重小于另一个常量的新常量时,我​​插入该常量并将其他常量值向上移动。这让我需要更新每个方法文档中的每个示例。

第一个问题的解决方法:

我知道我可以使用以下解决方法来回答第一个问题。

public static final String    TOP_LEFT_SIGNAL    = "0x0F";

/**
* Input - {@value #TOP_LEFT_SIGNAL} (TOP_LEFT_SIGNAL)
*/
public static final byte[] encodeMsg(String b) {
return addTail(Byte.decode(b));
}

但我不想在需要静态字段的字节值时使用 Byte.decode(String nm)

最佳答案

因为你的值是常量,也许你可以使用{@literal literal_text}

或者您可以通过扩展 Doclet 的类创建您自己的自定义 Javadoc 标记,如 in the Doclet documentation 所述.

关于十六进制形式的静态字节的 Javadoc 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34246633/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com