The official guidelines on this are pretty clear.
The functional differences are:
{@link}
is an inline link and can be placed wherever you like@see
creates its own sectionIn my opinion, {@link}
is best used when you literally use a class, field, constructor or method name in your description. The user will be able to click through to the javadoc of what you've linked.
I use the @see
annotation in 2 cases:
I based this opinion on randomly checking out documentation for a great variety of things in the standard library.
@see
creates an isolated line in the Javadocs. {@link}
is for embedding within text.
I use @see
when it's a related entity but I don't refer to it in the expository text. I use links within text when there's tight coupling, or (I feel) it's likely the reader would benefit from the navigation hint, e.g., you'll need to reference it directly.
There's another reference (deprecation section) same official docs to prefer {@link}
over @see
(since Java 1.2):
For Javadoc 1.2 and later, the standard format is to use @deprecated tag and the in-line {@link} tag. This creates the link in-line, where you want it. For example:
For Javadoc 1.1, the standard format is to create a pair of @deprecated and @see tags. For example:
The @see
tag is a bit different than the @link
tag,
limited in some ways and more flexible in others:
Different JavaDoc link types
@see
items, commas in the description make the output confusingSee the results below:
JavaDoc generation results with different link types
Best regards.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With