是否有一个Javadoc标记用于记录通用类型参数?


165

我一直在浏览Sun网站上的javadoc文档,试图找到是否有一个javadoc标记可用于记录类或方法的通用类型签名。

类似于@typeparam,类似于通常@param,但适用于类型和方法,例如

/**
 *  @typeparam T This describes my type parameter
 */
class MyClass<T> {
}

我怀疑没有这样的标记-我在任何地方都找不到它的标记,并且JavaSE API文档没有显示任何标记,但这似乎是一个奇怪的遗漏。有人可以说对吗?


7
要编写适当的javadocs?
Timo Willemsen 2010年

2
请注意,对于大多数类而言,关于类型参数的确没有什么要说的,因为类型参数本质上是由其在对象方法中的显示方式定义的。我@param <T>大部分时间会跳过,只在不清楚的时候才使用它。
Kevin Bourrillion 2010年

3
我明白您在说什么,但是根据这个基本原理,@param对于for方法参数的使用也是如此。Sun的编码标准明确指出,@param即使方法参数的含义很明确,也应使用该代码。
skaffman 2010年

3
在此之上。好的API编程应尽可能地自我记录。这是否意味着api不需要文档?没有。
Timo Willemsen 2010年

@param文档提供了有关类型参数的说明。请注意,Oracle可以更好地宣传此文档。
Michael Allan

Answers:


235

应该这样做:

/**
 * @param <T> This describes my type parameter
 */
class MyClass<T>{

}

资源


6
Doh ....好吧,这真是令人尴尬的明显...它确实引出了一个问题,为什么JavaSE类(例如Collection)不使用它。
skaffman 2010年


9
@skaffman当然有点晚了,但是它提出了一个问题,它没有提出这个问题
Thor84no 2013年

6
@ Thor84no从您的链接:一些权威人士认为使用“乞求问题”作为“提出问题”或“逃避问题”的一种说法已不再是错误的,因为它已被广泛使用。
Matt R

8
在这种情况下,IntelliJ完成得像HTML一样可惜。
尼克斯(Snicolas)

27

是。只需使用@param标记,并在type参数周围加上尖括号即可。

像这样:

/**
 *  @param <T> This describes my type parameter
 */
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.