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