私はSwingの学習曲線に近づき、InputMap
とActionMap
について読んでいます。 SwingのO'Reillyの本書では、ActionMap
の鍵はいずれもObject
となりますが、慣習としてはString
です。Java Swing ActionMap keys
String
以外のオブジェクトを使用する理由はありますか? (例:enum
)
文字列リテラルを使用することは悪い習慣だと思います。文字列リテラルは、コンパイルエラーを発生させることなくミスタイプする可能性があるためです。だから私は、一度定義された不変static final
のクラス変数としてActionMapキーを格納することをお勧めします(例えば、MyAction.NAME
)。
編集:だけ明確にする、私はドキュメントを読んでいたとき、頭に浮かんだ考えはenum
ではなくString
を使用することでした。理由はありますかString
を使用する必要がありますか?
「なぜenumを直接使用しないのかわかりません」:まったく!それが私の最初の考えでした。 –