Je distribuait un tas de upvotes pour d'autres utilisateurs, mais juste pour donner mes deux cents les seuls trois annotations que j'utilise avec une certaine régularité dans le développement sont les principales annotations utilisées directement par le compilateur:
@Override - Idéal pour le rendre explicite dans votre code lorsque vous remplacez une autre méthode. A également l'avantage supplémentaire d'être marqué comme une erreur de compilation si vous ne remplacez pas une méthode comme vous le pensez (voir other SO post). Ce drapeau informe le compilateur que vous avez l'intention de remplacer quelque chose, donc si vous ne le faites pas (par exemple si vous oubliez un argument dans la signature de la méthode), le compilateur l'attrapera.
@Deprecated - Indiquez ce que vous voulez marquer comme quelque chose qui ne devrait pas être utilisé à partir de ce moment. Le compilateur générera des avertissements pour l'utilisation de tout élément de code que vous avez marqué comme obsolète. En général, la dépréciation dit «c'était dans le passé, mais cela pourrait disparaître dans une version future». Assurez-vous que vous utilisez également l'indicateur Javadoc associé "@deprecated" associé à cela pour indiquer aux utilisateurs ce qu'ils doivent utiliser à la place.
@SuppressWarnings - Dites au compilateur de supprimer les avertissements spécifiques qu'il générerait autrement. Cela peut être utile pour des choses comme lorsque vous voulez intentionnellement utiliser des méthodes obsolètes, vous pouvez bloquer l'avertissement de désapprobation. J'ai tendance à l'utiliser beaucoup pour bloquer l'avertissement «Serialization UID» préféré de tout le monde sur les classes sérialisables (que ce soit ou que ce soit un autre débat pour une autre fois). Juste utile pour les cas où vous savez que quelque chose que vous faites génère un avertissement, mais vous êtes sûr à 100% que c'est le bon comportement que vous voulez.
Regardez le Sun Annotations Guide et consultez la section "Annotations utilisées par le compilateur". Ces trois ont une discussion assez longue.
[Créez votre propre lanceur de test à l'aide d'annotations Java] (http://www.singhajit.com/java-custom-annotations/) –