Пример в этой статье описывает, как Java использует отражение для автоматической инкапсуляции объектов сущностей. Поделитесь этим со всеми для справки. Конкретный анализ заключается в следующем:
При использовании этого метода имя передаваемого параметра должно заканчиваться номером строки. Если номер строки удален, это имя атрибута. Например, если страница передает имя+номер строки, то имя атрибута. объекта сущности должно быть имя. Код выглядит следующим образом: Скопируйте код. Код выглядит следующим образом: // Получаем данные страницы и автоматически инкапсулируем их в объект bean-компонента.
общедоступный список getObjectList (Class clazz, String [] rowNos) выдает исключение {
Список objList = новый ArrayList();
for(int i=0;rowNos!=null && i<rowNos.length;i++){
//Создаем экземпляр объекта
Объект object = clazz.newInstance();
//Получаем атрибуты, объявленные классом
Field[] поля = clazz.getDeclaredFields();
Буфер StringBuffer = ноль;
//Обходим свойства и выполняем инкапсуляцию
for(int j=0;j<fields.length;j++){
//Получаем имя атрибута
Строка fieldName = поля[j].getName();
//Получаем имя параметра
Строка paraName = поля[j].getName()+rowNos[i];
//Если полученное значение параметра пусто, продолжаем цикл
Строковое значение = getValueNull(paraName);
если (значение == ноль) {
продолжать;
}
//Значение параметра
Object[] paramValue =новый объект[1];
if(fields[j].getType().toString().equals("класс java.lang.String")){
paramValue[0]=значение;
}
if(fields[j].getType().toString().equals("класс java.lang.Integer")){
paramValue[0]=новое целое число (значение);
}
if(fields[j].getType().toString().equals("класс java.lang.Double")){
paramValue[0]=новый Double(значение);
}
if(fields[j].getType().toString().equals("класс java.util.Date")){
SimpleDateFormat sdf = новый SimpleDateFormat("гггг-ММ-дд");
paramValue[0]=sdf.parse(значение);
}
//Тип параметра
Класс[] paramType= {fields[j].getType()};
//Получаем имя установленного метода
буфер = новый StringBuffer («установить»);
buffer.append(fieldName.substring(0, 1).toUpperCase());
buffer.append(имяполя.подстрока(1));
//Получить и вернуть обратно
Метод метода = clazz.getDeclaredMethod(buffer.toString(), paramType);
//метод выполнения
метод.invoke(объект,paramValue);
}
//Помещаем текущий объект в список
objList.add(объект);
}
вернуть список объектов;
}
Я надеюсь, что эта статья будет полезна каждому, кто занимается программированием на Java.