Usually I have text that appears in different places, like comments, messages... For example if I have a custom Exception, probably class doc, messages that passes as parameter to its constructor and documents of each method that throw exception will have the same phrases and terms. If I copy/paste phrase, maintenance of documents will be hard (it needs finding and updating all repeats on each edit). To solve this, I can use a constant string that its value and its comment are those repetitive terms /** * comment for CONSTANT */ public static final String CONSTANT = "comment for CONSTANT"; and reference to it (and it's comment): /** * {@link MyClass#CONSTANT} */ String message = MyClass.CONSTANT; But how organize constants when are more than one? With respect to [this answer][1] and [this one][2], it seems the best way to organize them is using `Enum`: public enum Meta { /** * comment for CONSTANT */ CONSTANT("comment for CONSTANT"); private String text; Meta(String text) { this.text = text; } public String getText() { return this.text; } } But is there a better way than this? Especially it complicates code. [1]: http://stackoverflow.com/a/9485437/1043882 [2]: http://programmers.stackexchange.com/a/171554/174635