PropertyUtils.isReadable()使用出现的bug
来源:互联网 发布:瓷砖平面设计软件 编辑:程序博客网 时间:2024/06/08 07:12
今天做excel 下载的时候 用到了PropertyUtils.isReadable()这个方法;
https://commons.apache.org/proper/commons-beanutils/apidocs/org/apache/commons/beanutils/PropertyUtils.html
下面的和链接里面说的一样
public static boolean isReadable(Object bean, String name)true如果指定的属性名称标识指定bean上的可读属性,则返回; 否则返回 false。详情请参阅PropertyUtilsBean。参数:bean - 要检查的豆(可能是一个 DynaBeanname - 待评估的物业名称返回:true 如果属性可读,否则 false抛出:IllegalArgumentException- 如果bean 还是name现在null以来:BeanUtils 1.6也可以看看:PropertyUtilsBean.isReadable(java.lang.Object, java.lang.String)
我在使用时出现了一个问题
private <T> Map<String, String> getPropertyMap(T t) { Map<String, String> propertyMap = new HashMap<String, String>(); for (Field f : t.getClass().getDeclaredFields()) { System.out.println(f.getName()); if (!**PropertyUtils.isReadable(t, f.getName())**) { continue; } Title tt = f.getAnnotation(Title.class); if (null == tt) { continue; } propertyMap.put(tt.value(), f.getName()); } return propertyMap; }
PropertyUtils.isReadable(t, f.getName())
调用这个方法是出现了一个问题; 我通过反射获得model类变量里有三个Long 值
/** * 预算金额 */ @Title("预算金额") @Getter @Setter private long yAmount; /** * 列支金额 */ @Title("列支金额") @Getter @Setter private long lAmount; /** * 预算余额 */ @Title("预算余额") @Getter @Setter private long amount;
然而 当yAmount和lAmount值进入isReadable方法时会进入 continue;而amount则不会;
在找寻源码解决时也没能解决;
最后的解决方式将原有的
/** * 预算金额 */ @Title("预算金额") @Getter @Setter private long yCountAmount; /** * 列支金额 */ @Title("列支金额") @Getter @Setter private long lCountAmount;
两个变量加长 然后就可以正常使用了;
耗费了一下午 也没弄清楚为什么;
———-编辑8/23
今天下载的时候又没出来;
然后把他们首字母大写后发现也可以
/** * 预算金额 */ @Title("预算金额") @Getter @Setter private long YAmount; /** * 列支金额 */ @Title("列支金额") @Getter @Setter private long LAmount;
阅读全文
0 0
- PropertyUtils.isReadable()使用出现的bug
- PropertyUtils的使用
- PropertyUtils的使用
- PropertyUtils的使用
- PropertyUtils的使用
- BeanUtils MethodUtils PropertyUtils 的使用
- 使用GridView出现的一个bug
- 使用httpPost和httpGet出现的bug
- 使用FtpWebRequest下载时出现的Bug
- Ext4使用中出现的bug
- 使用Mybatis出现的一个异常bug
- PropertyUtils和MethodUtils使用
- PropertyUtils和MethodUtils使用
- apache-commons之BeanUtils、ConvertUtils、PropertyUtils、CollectionUtils的基本使用
- PropertyUtils.getProperty的用法
- PropertyUtils的一点体会
- PropertyUtils.getProperty的用法
- 做网站出现的bug(一)
- spring-cloud-eureka-server 注册中心启动不显示页面而是xml问题
- html5和html4的区别
- StatusBarUtil 状态栏工具类(实现沉浸式状态栏/变色状态栏)
- JavaScript高级程序设计(引用类型)
- Myeclipse-2016-windows破解以及汉化教程
- PropertyUtils.isReadable()使用出现的bug
- Hdu 6166 Senior Pan【思维+随机化+最短路】好题~
- ANDROID 安装失败 INSTALL_FAILED_UPDATE_INCOMPATIBLE解决
- 继承和派生
- 树的遍历问题
- ModelAttribute注解的源代码分析流程
- python数据结构-双端队列
- 万万没想到我四级过了
- 3D slicer的教程网站