En general, cuando se reemplaza un método, que se adhieren al contrato definido en la clase base/interfaz, por lo que no quieren cambiar el javadoc original de todos modos. Por lo tanto, el uso de la etiqueta @inheritDoc
o @see
mencionado en otras respuestas no es necesario y, en realidad, solo sirve como un ruido en el código.Todas las herramientas sensibles heredan método javadoc de la superclase o interfaz como se especifica here:
Inherit from classes and interfaces - Inheriting of comments occurs in all
three possible cases of inheritance from classes and interfaces:
- When a method in a class overrides a method in a superclass
- When a method in an interface overrides a method in a superinterface
- When a method in a class implements a method in an interface
El hecho de que algunas herramientas (! Estoy mirando a ti, Eclipse) generan éstos de forma predeterminada al sustituir un método sólo es una triste estado de las cosas, pero no justifica abarrotar su código con ruido inútil.
Por supuesto, puede ser el caso contrario, cuando en realidad se desea agregar un comentario al método predominante (por lo general algunos detalles de implementación adicionales o hacer el contrato un poco más estricta). Pero en este caso, casi nunca quiere hacer algo como esto:
/**
* {@inheritDoc}
*
* This implementation is very, very slow when b equals 3.
*/
¿Por qué? Porque el comentario heredado posiblemente puede ser muy largo. En tal caso, ¿quién notará la oración adicional al final de los 3 largos párrafos? En cambio, simplemente escriba la parte de su propio comentario y eso es todo. Todas las herramientas javadoc siempre muestran algún tipo de especificado por vínculo que puede hacer clic para leer el comentario de la clase base. No tiene sentido mezclarlos.
¿No sabe que los elementos deben ser comparables cuando se usa TreeMap? Una implementación tampoco debería implementar un comportamiento conflictivo. –
creo que esto debería ser la respuesta correcta http://stackoverflow.com/a/39981265/419516 – user219882