我有一个javadoc代码块,我想写一个包含这样的泛型的代码示例:
public interface SomeInterface <T> { }
public interface SomeInterface extends SomeOtherInterface<T> { }
这是我的javadoc块:
/**
* Get the Generic Type T of a Type (Class/Interface) or extended/inherited Subtype:
* <pre>
* {@code
* public interface SomeInterface <T> { }
* public interface SomeInterface extends SomeOtherInterface<T> { }
* }
* </pre>
* @param implType
* @param parentType
* @return
*/
public static JClassType findGenericType(JClassType implType, JClassType parentType) { ... }
javadoc输出是:
Get the Generic Type T of a Type (Class/Interface) or extended/inherited Subtype:
public interface SomeInterface { }
public interface SomeInterface extends SomeOtherInterface { }
}
Parameters:
implType
parentType
Returns:
输出中缺少Generic。
如何让javadoc正确显示泛型?
答案 0 :(得分:5)
Java doc呈现为HTML,因此尖括号(<>
)之间的任何内容都将被解释为HTML标记,并且不会作为文本打印。
您可以使用<
和>
分别呈现HTML <
和>
:
/**
* Get the Generic Type T of a Type (Class/Interface) or extended/inherited Subtype:
* <pre>
* {@code
* public interface SomeInterface <T> { }
* public interface SomeInterface extends SomeOtherInterface<T> { }
* }
* </pre>
* @param implType
* @param parentType
* @return
*/
答案 1 :(得分:1)
JavaDoc使用html进行渲染。因此,如果您希望在JavaDoc中出现左角度大括号(&lt;)和右角度大括号(&gt;),则需要使用<
表示左角度大括号,>
表示右侧大括号角撑。例如:
/**
* Get the Generic Type T of a Type (Class/Interface) or extended/inherited Subtype:
* <pre>
* {@code
* public interface SomeInterface <T> { }
* public interface SomeInterface extends SomeOtherInterface<T> { }
* }
* </pre>
* @param implType
* @param parentType
* @return
*/
有关详细信息,请参阅the wikipedia article。
答案 2 :(得分:0)
怎么样?
/**
* Explain something...
* <pre>
* public interface SomeInterface <T> { }
* </pre>
*/
这是因为JavaDoc是以HTML格式呈现的,因此必须对<>
进行转义才能正确呈现。
编辑:在OP澄清后我改变了答案。
答案 3 :(得分:0)
实际上,您可以将泛型放入Javadoc本身。我知道这不是有效的HTML,我认为javadoc处理器对此具有特殊情况处理。
使用您的示例:
/**
* @param <T> the type
*/
public interface SomeInterface <T> { }
来源:Any plan to update this gem to be compatible with rails 5.2?