Man könnte hier durchaus auch mit Aufzählungen arbeiten, wenn du dein Schema beibehalten möchtest:
String name;
String firstName;
...
public static enum Type{ name, firstName, ... };
public void updateValue(String type, String value) {
switch (Type.valueOf(type)) {
case name:
...
break;
case firstName:
...
break;
...
}
...
}
Sinnvollerweise kann man dann auch jenes Beispiel verwenden:
public void updateValue(Type type, String value) {
switch (type) {
case name:
...
break;
case firstName:
...
break;
...
}
...
}
// entsprechender Aufruf
updateValue(Employee.Type.firstName, "Homer");
// oder für ganz faule
import static package.Employee.Type.firstName;
updateValue(firstName, "Homer");
Werte kann man auch per Reflections zuweisen, ohne das Feld 'per Namen' direkt anzusprechen:
Field field = this.getClass().getDeclaredField(type);
field.set(this, value);
Gruß