반사를 이용하여 자동으로 실체 대상으로 봉인하다
1872 단어 리플렉스
// , bean
public List getObjectList(Class clazz,String[] rowNos) throws Exception{
List objList = new ArrayList();
for(int i=0;rowNos!=null && i<rowNos.length;i++){
//
Object object = clazz.newInstance();
//
Field[] fields = clazz.getDeclaredFields();
StringBuffer buffer = null;
// ,
for(int j=0;j<fields.length;j++){
//
String fieldName = fields[j].getName();
//
String paraName = fields[j].getName()+rowNos[i];
//
String value = getValueNull(paraName);
if(value==null){
continue;
}
//
Object[] paramValue =new Object[1];
if(fields[j].getType().toString().equals("class java.lang.String")){
paramValue[0]=value;
}
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);
}
//
Class[] paramType= {fields[j].getType()};
// set
buffer = new StringBuffer("set");
buffer.append(fieldName.substring(0, 1).toUpperCase());
buffer.append(fieldName.substring(1));
//
Method method = clazz.getDeclaredMethod(buffer.toString(), paramType);
//
method.invoke(object,paramValue);
}
// list
objList.add(object);
}
return objList;
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
반사를 이용한 범용 DAL텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.