Lo siento por hacer este tipo de preguntas, pero realmente no pude encontrar la respuesta en Google. Entonces digo que tengo una clase con private String myColor
y tengo una cadena "myColor". Ahora quiero manipular el atributo myColor
. ¿Cómo puedo hacer eso?En Java, ¿cómo obtener el atributo dado a la cadena con su nombre?
Edit: Lo siento por una pregunta poco clara, creo que la mejor manera es explicar para qué la necesito. Tengo un formulario Swing y quiero usar la API de preferencias para establecer los valores de los campos al cargar la GUI. Entonces puedo leer todos los campos y luego hacer outputDirectoryTextField.setText(valueFromPrefsAPI);
para cada uno de ellos, pero eso parece ser un poco innecesario de codificación, así que quiero tener una matriz (¿hash?) Con los nombres de los campos y recorrerlos, así:
String[] myTextInputs = {"thisInput", "thatInput"};
for (String inputName : myTextInputs) {
String value = prefs.get(inputName, "");
/* some code I'm seeking to find out*/.setText(value);
}
Verifique el enlace desde la página de mi perfil, está hecho para este propósito. Usando mi utilidad, solo necesita hacer 'BeanPropertyController bpc = BeanPropertyController.of (YourClass.class, ExtractionDepth.FIELDS); bpc.mutate ("myColor", itsNewValue); 'Sin embargo, tenga en cuenta que' ExtractionDepth.FIELDS' supone que existe al menos un getter para el campo con un nombre coincidente. – Esko