El ejemplo de este artículo describe cómo Java utiliza la reflexión para encapsular automáticamente objetos de entidad. Compártelo con todos para tu referencia. El análisis específico es el siguiente:
Cuando se utiliza este método, el nombre del parámetro que se debe pasar debe terminar con un número de fila. Si se elimina el número de fila, es el nombre del atributo. Por ejemplo, si la página pasa nombre+número de fila, entonces el nombre del atributo. del objeto de entidad debe ser el nombre. El código es el siguiente. Copie el código. El código es el siguiente: // Obtenga datos de la página y encapsúlelos automáticamente en un objeto bean.
Lista pública getObjectList(Class clazz,String[] rowNos) lanza una excepción{
Lista objList = nueva ArrayList();
for(int i=0;rowNos!=null && i<rowNos.length;i++){
//Crear instancia de objeto
Objeto objeto = clazz.newInstance();
//Obtener los atributos declarados por la clase
Campo[] campos = clazz.getDeclaredFields();
Búfer StringBuffer = nulo;
//Recorrer propiedades y realizar encapsulación
for(int j=0;j<fields.length;j++){
//Obtener el nombre del atributo
Cadena nombre de campo = campos[j].getName();
//Obtener el nombre del parámetro
String paraName = campos[j].getName()+rowNos[i];
//Si el valor del parámetro obtenido está vacío, continúa el ciclo
Valor de cadena = getValueNull(paraName);
si(valor==nulo){
continuar;
}
//Valor del parámetro
Objeto[] paramValue =nuevo Objeto[1];
if(campos[j].getType().toString().equals("clase java.lang.String")){
paramValue[0]=valor;
}
if(campos[j].getType().toString().equals("clase java.lang.Integer")){
paramValue[0]=nuevo entero(valor);
}
if(fields[j].getType().toString().equals("clase java.lang.Double")){
paramValue[0]=nuevo Doble(valor);
}
if(fields[j].getType().toString().equals("clase java.util.Date")){
SimpleDateFormat sdf = new SimpleDateFormat("aaaa-MM-dd");
paramValue[0]=sdf.parse(valor);
}
//Tipo de parámetro
Clase[] paramType= {campos[j].getType()};
//Obtener el nombre del método establecido
buffer = nuevo StringBuffer("establecer");
buffer.append(fieldName.substring(0, 1).toUpperCase());
buffer.append(fieldName.substring(1));
//Obtener y devolver
Método método = clazz.getDeclaredMethod(buffer.toString(), paramType);
//método de ejecución
método.invoke(objeto,paramValue);
}
//Ponemos el objeto actual en la lista
objList.add(objeto);
}
devolver listaobj;
}
Espero que este artículo sea útil para la programación Java de todos.