在 Javadoc 中转义 @ 字符
Escape @ Character in Javadoc
我知道以前有人问过这个问题,但那里的答案只适用于较旧的 JVM;我在 8。我有这样的 javadoc:
* <pre>
* {@code
*
* import javax.ws.rs.Path;
*
* import com.ziath.handheldserver.scripts.AbstractHandheldScript;
* import com.ziath.handheldserver.scripts.valueobjects.ScriptStatus;
* import com.ziath.handheldserver.scripts.valueobjects.WidgetList;
*
* import org.slf4j.Logger;
* import org.slf4j.LoggerFactory;
*
* @Path("myBasicScript")
我需要转义'@'符号;我尝试了以下方法:
- 用 html 表示替换 @,这样 @Override 就变成了 @Override。这只是在 jdocs
中打印 @Override
- 将@Override 替换为{@literal @}Override。这现在在 javadocs 中打印 {@literal @}Override。
将@Override替换为@literal @Override;这不会转义 @ 符号并且 javadocs 停止解析。
有谁知道如何用 JDK 8 做到这一点?我很惊讶它有多难!
您可以使用 {@literal @}
对文本中出现的单个 @
字符完成此操作。或者,如果您想在 JavaDoc 中包含一个代码块并希望转义 all @
个字符,我建议将 <pre>
块与 {@code}
像这样:
* <pre>
* {@code
* ... my code here...
* }
* </pre>
您可以使用{@literal @}
。这是 @
的示例,但您可以将 {@literal}
用于任何特殊字符
我在 JDK 中查找了带有 @ 符号的代码示例。 @SafeVarargs
注释有那个。它的 source code 不使用 <code>
块,而是使用 <blockquote><pre>
。
/**
* <blockquote><pre>
* import javax.ws.rs.Path;
*
* import com.ziath.handheldserver.scripts.AbstractHandheldScript;
* import com.ziath.handheldserver.scripts.valueobjects.ScriptStatus;
* import com.ziath.handheldserver.scripts.valueobjects.WidgetList;
*
* import org.slf4j.Logger;
* import org.slf4j.LoggerFactory;
*
* @Path("myBasicScript")
* </pre></blockquote>
*/
这对我来说适用于 Java 8,而且看起来还不错。但是,我同意不使用 @code
有点奇怪。
我知道以前有人问过这个问题,但那里的答案只适用于较旧的 JVM;我在 8。我有这样的 javadoc:
* <pre>
* {@code
*
* import javax.ws.rs.Path;
*
* import com.ziath.handheldserver.scripts.AbstractHandheldScript;
* import com.ziath.handheldserver.scripts.valueobjects.ScriptStatus;
* import com.ziath.handheldserver.scripts.valueobjects.WidgetList;
*
* import org.slf4j.Logger;
* import org.slf4j.LoggerFactory;
*
* @Path("myBasicScript")
我需要转义'@'符号;我尝试了以下方法:
- 用 html 表示替换 @,这样 @Override 就变成了 @Override。这只是在 jdocs 中打印 @Override
- 将@Override 替换为{@literal @}Override。这现在在 javadocs 中打印 {@literal @}Override。
将@Override替换为@literal @Override;这不会转义 @ 符号并且 javadocs 停止解析。
有谁知道如何用 JDK 8 做到这一点?我很惊讶它有多难!
您可以使用 {@literal @}
对文本中出现的单个 @
字符完成此操作。或者,如果您想在 JavaDoc 中包含一个代码块并希望转义 all @
个字符,我建议将 <pre>
块与 {@code}
像这样:
* <pre>
* {@code
* ... my code here...
* }
* </pre>
您可以使用{@literal @}
。这是 @
的示例,但您可以将 {@literal}
用于任何特殊字符
我在 JDK 中查找了带有 @ 符号的代码示例。 @SafeVarargs
注释有那个。它的 source code 不使用 <code>
块,而是使用 <blockquote><pre>
。
/**
* <blockquote><pre>
* import javax.ws.rs.Path;
*
* import com.ziath.handheldserver.scripts.AbstractHandheldScript;
* import com.ziath.handheldserver.scripts.valueobjects.ScriptStatus;
* import com.ziath.handheldserver.scripts.valueobjects.WidgetList;
*
* import org.slf4j.Logger;
* import org.slf4j.LoggerFactory;
*
* @Path("myBasicScript")
* </pre></blockquote>
*/
这对我来说适用于 Java 8,而且看起来还不错。但是,我同意不使用 @code
有点奇怪。