- 方式一
在常量个数少的时候,通常情况下使用这种方式。
public class MqConstants {public static final String EXCHANGE_1 = "exchange1";public static final String EXCHANGE_2 = "exchange2";public static final String EXCHANGE_3 = "exchange3";public static final String KEY_1 = "key1";public static final String KEY_2 = "key1";public static final String KEY_3 = "key1";
}
System.out.println(MqConstants.EXCHANGE_1);
- 方式二
在一的基础上,当常量个数变多的时,且为了分类,采用如下内部类方式。
public class MqConstants {public static class Exchange{public static final String EXCHANGE_1 = "exchange1";public static final String EXCHANGE_2 = "exchange2";public static final String EXCHANGE_3 = "exchange3";}public static class Key{public static final String KEY_1 = "key1";public static final String KEY_2 = "key1";public static final String KEY_3 = "key1";}
}
System.out.println(MqConstants.Exchange.EXCHANGE_1);
- 方式三
在二的基础上,为了简略写修饰符,即为了不写public static final和public static final,可以把class换成interface。
即采用如下方式
public interface MqConstants {interface Exchange{String EXCHANGE_1 = "exchange1";String EXCHANGE_2 = "exchange2";String EXCHANGE_3 = "exchange3";}interface Key{String KEY_1 = "key1";String KEY_2 = "key1";String KEY_3 = "key1";}
}
System.out.println(MqConstants.Exchange.EXCHANGE_1);
- 以RabbitMq涉及常量为示例
public interface MqConstants {interface Exchange{String COURSE_EXCHANGE = "course.topic";String ORDER_EXCHANGE = "order.topic";String LEARNING_EXCHANGE = "learning.topic";String SMS_EXCHANGE = "sms.direct";String ERROR_EXCHANGE = "error.topic";String PAY_EXCHANGE = "pay.topic";String TRADE_DELAY_EXCHANGE = "trade.delay.topic";String LIKE_RECORD_EXCHANGE = "like.record.topic";}interface Queue {String ERROR_QUEUE_TEMPLATE = "error.{}.queue";}interface Key{String COURSE_NEW_KEY = "course.new";String COURSE_UP_KEY = "course.up";String COURSE_DOWN_KEY = "course.down";String COURSE_EXPIRE_KEY = "course.expire";String COURSE_DELETE_KEY = "course.delete";String ORDER_PAY_KEY = "order.pay";String ORDER_REFUND_KEY = "order.refund";String WRITE_REPLY = "reply.new";String SIGN_IN = "sign.in";String LEARN_SECTION = "section.learned";String WRITE_NOTE = "note.new";String NOTE_GATHERED = "note.gathered";String LIKED_TIMES_KEY_TEMPLATE = "{}.times.changed";String QA_LIKED_TIMES_KEY = "QA.times.changed";String NOTE_LIKED_TIMES_KEY = "NOTE.times.changed";String SMS_MESSAGE = "sms.message";String ERROR_KEY_PREFIX = "error.";String DEFAULT_ERROR_KEY = "error.#";String PAY_SUCCESS = "pay.success";String REFUND_CHANGE = "refund.status.change";String ORDER_DELAY_KEY = "delay.order.query";}
}