我正在为Swing提供学习曲线并正在阅读InputMap
和ActionMap
.关于Swing的O'Reilly书中所说的关键词ActionMap
可以是任意的Object
,但按照惯例是String
s.
有没有理由使用除了String
?之外的对象?(例如enum
)
我认为使用String文字是不好的做法,因为它们可能输入错误而不会产生任何编译错误.所以我猜测将ActionMap键存储为一次static final
定义的不可变类变量(例如MyAction.NAME
)是一种很好的做法.
编辑:只是为了澄清,当我阅读文档时想到的想法是使用enum
而不是String
.有理由我应该使用String
吗?