反射将Bean中属性为null的设置为""

Posted hxy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了反射将Bean中属性为null的设置为""相关的知识,希望对你有一定的参考价值。

1、利用反射将Java Bean中string类型属性值为null的设为""

 1 SomeClass obj = new SomeClass();
 2 Class c = SomeClass.class;
 3 Field[] fields = c.getDeclaredFields();
 4 for(int i = 0; i < fields.length; i++)
 5 {
 6     String fieldName = fields[i].getName();
 7     fieldName = fieldName.substring(0, 1).toUpperCase() + fieldName.substring(1);
 8 
 9     try
10     {
11         Method getM = c.getMethod("get" + fieldName);
12         String strVal = (String) getM.invoke(obj);
13         if(strVal == null)
14         {
15             Method setM = c.getMethod("set" + fieldName, String.class);
16             setM.invoke(obj, "");
17         }
18     }
19     catch (Exception ex)
20     {
21         LOGGER.error("Java Reflect Error " + ex.toString());
22     }
23 }

 

以上是关于反射将Bean中属性为null的设置为""的主要内容,如果未能解决你的问题,请参考以下文章

复制属性的Bean时只拷贝非null属性(跳过null属性)

为什么GlassFish 5.1.0中的JSF将我的@ViewScoped CDI bean的ID属性设置为null?

利用反射判断bean属性不为空(null和空串)

R 中带 SVM 的插入符号:名称错误(重采样)<- gsub(“^\\.”,“”,名称(重采样)):尝试将属性设置为 NULL

使用 rvest 和 selectorgadget 从 GEO 提取信息,得到错误:“类中的错误(输出)<-“XMLNodeSet”:尝试将属性设置为 NULL”

怎么通过反射找出对象NULL的属性