Estoy subiendo en la curva de aprendizaje de Swing y estoy leyendo sobre InputMap
y ActionMap
. El libro de O'Reilly en Swing dice que las claves para ActionMap
pueden ser Object
, pero por convención son String
s.Java Swing ActionMap keys
¿Hay alguna razón para usar un objeto que no sea String
? (por ejemplo, enum
)
Creo que es una mala práctica usar literales de cadena, ya que pueden escribirse mal sin producir ningún error de compilación. Así que supongo que es una buena práctica almacenar la clave ActionMap como una variable de clase static final
inmutable definida una vez (por ejemplo, MyAction.NAME
).
edición: Solo para aclarar, el pensamiento que vino a la mente cuando estaba leyendo la documentación era utilizar un enum
en lugar de un String
. ¿Hay alguna razón por la que debería usar String
?
"No estoy seguro de por qué no usarías una enumeración directamente": ¡Exactamente! Fue lo primero que pensé. –