在Java中 是获取不了对象里面的字段的(除非是一些固定写死的字段) ,但是可以利用反射获取set方法,进行赋值
具体可以参考一下代码
/
@param obj 赋值对象
@param value 赋值的值
@throws Exception
/
public void setMethod(Object obj ,String value) throws Exception{
if (obj == null ) {
return;
}
Method[] methods = objgetClass()getMethods();
for (int i = 0; i < methodslength; i++) {
Method method = methods[i];
String name = methodgetName();
if(namecontains("set")){
methodinvoke(obj,value);
}
}
}
你数据库的
字段长度
要是不能设置大点的话肯定要做check,超过存储长度就进行截取,然后存。要么就把varchar设置到500(此时不会自动转成text,效率依然很高),还不够
大你
就设成text吧,再就认为check截取,别期待mysql能自动帮你处理。
public void method(TblFwlx obj) { Class clazz = objgetClass(); Field[] fields = objgetClass()getDeclaredFields();//获得属性 for (Field field : fields) { PropertyDescriptor pd = new PropertyDescriptor(fieldgetName(), clazz); Method getMethod = pdgetReadMethod();//获得get方法 Object o = getMethodinvoke(obj);//执行get方法返回一个Object } }
以上就是关于Java如何获得一个对象中所有带set方法的字段(形成Field对象)包括父类的。有现成的工具类全部的内容,包括:Java如何获得一个对象中所有带set方法的字段(形成Field对象)包括父类的。有现成的工具类、java 获取mysql字段长度和CSV内容字段的检验。、关于java反射 通过字段获取字段get方法 两种方法的区别等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)