如何在javadoc的@see中引用方法,并@link它们是否具有绑定类型参数?
例:
public class A { }
public interface I<J> { }
public class F {
public static <T extends A & I<B>, B> String newThing(T bondedTypeObject, List<B> list) {
/*...*/
}
public static <T extends A & I<B>, B> String newThing(T bondedTypeObject, B anotherObject) {
/*...*/
}
/**
* Uses {@link #newThing(T bondedTypeObject, List<B> list) newThing} to create a super new thing.
*/
public static String createSuperNewThing(...) {
return newThing(...);
}
}
你如何编写用于创建SuperNewThing的javadoc链接到正确的newThing方法?
在这种情况下,Oracle 文档不是很清楚:http://docs.oracle.com/javase/6/docs/technotes/tools/windows/javadoc.html#specifyingname
您需要指定参数的擦除,例如:
/**
* Uses {@link newThing(A bondedTypeObject, List list)} to create...
*/
请注意,类型参数T extends SomeClass & SomeInterface
的擦除是 SomeClass
。
下面是 Oracle Java 文档中的示例。在集合中链接到此方法
static <K,V> Map<K,V> synchronizedMap(Map<K,V> m)
您将使用以下链接:
{@link Collections.html#synchronizedMap(Map)}