复制代码 代码如下:
package ;
import d;
import od;
import fier;
import er;
/**
*
*
Title:
*
Description: 反射
*
Company: 点滴工作室
* @version 2.0
*
*/
public class ReflectUtil {
private static final Logger log = ogger(s);
@SuppressWarnings({ "rawtypes", "unchecked" })
public static void setFieldValue(Object target, String fname, Class ftype,
Object fvalue) {
if (target == null
|| fname == null
|| ""ls(fname)
|| (fvalue != null && !signableFrom(lass()))) {
return;
}
Class clazz = lass();
try {
Method method = eclaredMethod("set"
+ perCase(At(0))
+ tring(1), ftype);
if (!blic(odifiers())) {
ccessible(true);
}
ke(target, fvalue);
} catch (Exception me) {
if (bugEnabled()) {
// g("me异常-------->:"+me);
}
try {
Field field = eclaredField(fname);
if (!blic(odifiers())) {
ccessible(true);
}
(target, fvalue);
} catch (Exception fe) {
if (bugEnabled()) {
g("fe----------->"+fe);
}
}
}
}
}