在 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")

我需要转义'@'符号;我尝试了以下方法:

您可以使用 {@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;
 * 
 * &#064;Path("myBasicScript")
 * </pre></blockquote>
 */

这对我来说适用于 Java 8,而且看起来还不错。但是,我同意不使用 @code 有点奇怪。