java 获取参数的类型的_java通过反射获取参数类型后如何类型转换

这段代码使用Java的POI库解析Excel文件,并根据列标题匹配对象的字段,通过反射调用setter方法设置值。支持String、Date、Boolean和Number类型的字段映射。适用于数据导入或Excel报表自动化处理场景。
摘要由CSDN通过智能技术生成

while (cellbody.hasNext()) {

Cell cell = cellbody.next();

// 这里得到此列的对应的标题

String titleString = (String) titlemap.get(k);

// 如果这一列的标题和类中的某一列的Annotation相同,那么则调用此类的的set方法,进行设值

if (fieldmap.containsKey(titleString)) {

Method setMethod = (Method) fieldmap.get(titleString);

//得到setter方法的参数

Type[] ts = setMethod.getGenericParameterTypes();

//只要一个参数

String xclass = ts[0].toString();

//判断参数类型

if(xclass.equals("class java.lang.String"))

{

setMethod.invoke(tObject, cell.getStringCellValue());

}

else if(xclass.equals("class java.util.Date"))

{

setMethod.invoke(tObject, sf.parse(cell.getStringCellValue()));

}

else if(xclass.equals("class java.lang.Boolean"))

{

Boolean boolname=true;

if(cell.getStringCellValue().equals("否"))

{

boolname=false;

}

setMethod.invoke(tObject,boolname );

}

else if(xclass.equals("class java.lang.Integer"))

{

setMethod.invoke(tObject,new Integer( cell.getStringCellValue()));

}

else if(xclass.equals("class java.lang.Long"))

{

setMethod.invoke(tObject,new Long( cell.getStringCellValue()));

}

}

// 下一列

2011年8月01日 14:53

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值