Mi dispiace per questo tipo di domande, ma non ho trovato la risposta in Google. Quindi dire che ho una classe con private String myColor
e ho una stringa "myColor". Ora voglio manipolare l'attributo myColor
. Come lo posso fare?In Java, come ottenere l'attributo data la stringa con il suo nome?
Modifica: Ci scusiamo per una domanda poco chiara, immagino che il modo migliore sia quello di spiegare per cosa ho bisogno. Ho un modulo Swing e voglio usare le preferenze api per impostare i valori dei campi durante il caricamento di gui. Quindi posso leggere tutti i campi e quindi fare outputDirectoryTextField.setText(valueFromPrefsAPI);
per ognuno di essi, ma sembra essere un po 'di codifica non necessaria, quindi voglio avere un array (hash?) Con i nomi dei campi e scorrere in loop, in questo modo:
String[] myTextInputs = {"thisInput", "thatInput"};
for (String inputName : myTextInputs) {
String value = prefs.get(inputName, "");
/* some code I'm seeking to find out*/.setText(value);
}
Controllare il collegamento dalla mia pagina del profilo, è fatto per questo scopo. Usando la mia utility hai solo bisogno di fare 'BeanPropertyController bpc = BeanPropertyController.of (YourClass.class, ExtractionDepth.FIELDS); bpc.mutate ("myColor", itsNewValue); 'Tuttavia si noti che' ExtractionDepth.FIELDS' presuppone che esista almeno un getter per il campo con un nome corrispondente. – Esko