ssh框架怎么利用反射实现javabean的自动赋值

 我来答
yancong008
2017-03-15 · 超过15用户采纳过TA的回答
知道答主
回答量:35
采纳率:0%
帮助的人:27.3万
展开全部
private Object invoke(Object o, String fieldName, String value) {
Class c = o.getClass();
try {
Class type = c.getDeclaredField(fieldName).getType();
String methodName = "set"+ Character.toUpperCase(fieldName.charAt(0))+ fieldName.substring(1);
Method ms = c.getMethod(methodName, type);
if (type.getCanonicalName().equals("java.lang.String")) {
ms.invoke(o, new Object[] { value });
} else if (type.getCanonicalName().equals("int")|| type.getCanonicalName().equals("java.lang.Integer")) {
ms.invoke(o, new Object[] { new Integer(value) });
} else if (type.getCanonicalName().equals("long")|| type.getCanonicalName().equals("java.lang.Long")) {
ms.invoke(o, new Object[] { new Long(value) });
} else if (type.getCanonicalName().equals("boolean")|| type.getCanonicalName().equals("java.lang.Boolean")) {
ms.invoke(o, new Object[] { Boolean.valueOf(value) });
} else if (type.getCanonicalName().equals("date")|| type.getCanonicalName().equals("java.util.Date")) {
SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
ms.invoke(o, new Object[] { sf.parse("") });
}
} catch (Exception e) {
e.printStackTrace();
}
return o;
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式