Das Beispiel in diesem Artikel beschreibt, wie Java Reflektion verwendet, um Entitätsobjekte automatisch zu kapseln. Teilen Sie es als Referenz mit allen. Die spezifische Analyse lautet wie folgt:
Bei Verwendung dieser Methode muss der Name des zu übergebenden Parameters mit einer Zeilennummer enden. Wenn die Zeilennummer entfernt wird, handelt es sich beispielsweise um den Attributnamen, wenn die Seite name+rowNo übergibt des Entitätsobjekts sollte der Name sein. Der Code lautet wie folgt: // Seitendaten abrufen und automatisch in ein Bean-Objekt kapseln.
public List getObjectList(Class clazz,String[] rowNos) löst eine Ausnahme aus{
Liste objList = new ArrayList();
for(int i=0;rowNos!=null && i<rowNos.length;i++){
//Objektinstanz erstellen
Objekt object = clazz.newInstance();
//Holen Sie sich die von der Klasse deklarierten Attribute
Field[] Felder = clazz.getDeclaredFields();
StringBuffer buffer = null;
//Eigenschaften durchqueren und Kapselung durchführen
for(int j=0;j<fields.length;j++){
//Den Namen des Attributs abrufen
String fieldName = Felder[j].getName();
//Den Namen des Parameters abrufen
String paraName = Felder[j].getName()+rowNos[i];
//Wenn der erhaltene Parameterwert leer ist, setzen Sie die Schleife fort
String-Wert = getValueNull(paraName);
if(value==null){
weitermachen;
}
//Parameterwert
Object[] paramValue =new Object[1];
if(fields[j].getType().toString().equals("class java.lang.String")){
paramValue[0]=Wert;
}
if(fields[j].getType().toString().equals("class java.lang.Integer")){
paramValue[0]=new Integer(value);
}
if(fields[j].getType().toString().equals("class java.lang.Double")){
paramValue[0]=new Double(value);
}
if(fields[j].getType().toString().equals("class java.util.Date")){
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
paramValue[0]=sdf.parse(value);
}
//Parametertyp
Class[] paramType= {fields[j].getType()};
//Den Namen der Set-Methode abrufen
buffer = new StringBuffer("set");
buffer.append(fieldName.substring(0, 1).toUpperCase());
buffer.append(fieldName.substring(1));
//Holen und zurücksetzen
Methode method = clazz.getDeclaredMethod(buffer.toString(), paramType);
//Ausführungsmethode
method.invoke(object,paramValue);
}
//Das aktuelle Objekt in die Liste einfügen
objList.add(object);
}
return objList;
}
Ich hoffe, dass dieser Artikel für die Java-Programmierung aller hilfreich sein wird.