Me preguntaba si sería posible tener algo como lo siguiente en Java:método Java para asignar valores de campo de objeto con la reflexión
public class MyClass {
private String name;
private Integer age;
private Date dateOfBirth;
// constructors, getters, setters
public void setField(String aFieldName, Object aValue) {
Field aField = getClass().getDeclaredField(aFieldName);
// use: aField.set(...) with proper type handling
}
}
estoy realmente atascado en el método setField y cualquier idea sería muy servicial.
Gracias!
EDIT: La razón de esto es que me gustaría tener un método en otra clase como el siguiente
public static MyClass setAll(List<String> fieldNames, List<Object> fieldValues) {
MyClass anObject = new MyClass();
// iterate fieldNames and fieldValues and set for each fieldName
// the corresponding field value
return anObject;
}
Sí Probé esto pero el problema es que me gustaría agregar algún tipo de comprobación de tipo y conversión adecuada en el método. ¿Algunas ideas? – gpol
Puede hacer la verificación de tipos si lo desea (pero si todo lo que hace con un cheque fallido es tirar, entonces eso no tiene sentido, ya que el mecanismo de reflexión se lanzará por usted). Ningún casting será apropiado. –