1
設計通用接口時,我可以在枚舉上使用標記註釋嗎?
或者,是否可以在編譯時鍵入檢查註釋引用?在枚舉上使用標記註釋的通用接口設計
我正在開發一組接口來處理消息,每個消息將包含消息類型和消息內容。 我想將消息類型編碼爲枚舉,然後在此基礎上定義其他接口。事情是這樣的,
public interface MessageHandler<E extends Enum<E>> {
boolean handles(E messageType);
}
我不希望任何枚舉用在這裏,我可以添加一個標記接口MessageType
像這樣,
public interface MessageHandler<E extends Enum<E> & MessageType> {
boolean handles(E messageType);
}
據我所知,標記註釋是最好的標誌接口這些天,但我看不到在這裏使用它們。這是可能的還是我只是堅持接口?
我前段時間曾經有過類似的情況,最後證明需要'MessageType`作爲`enum`只提供了很少的附加優點,同時使接口更難讀。放棄這個要求比較容易,但仍然只使用'MessageType`的枚舉對象。 – 2011-02-10 13:41:41