我使用BeanUtils来操纵通过JAXB创建的
Java对象,我遇到了一个有趣的问题.有时,JAXB会创建一个这样的Java对象:
public class Bean { protected Boolean happy; public Boolean isHappy() { return happy; } public void setHappy(Boolean happy) { this.happy = happy; } }
以下代码工作正常:
Bean bean = new Bean(); BeanUtils.setProperty(bean,"happy",true);
然而,试图获得幸福的财产如此:
Bean bean = new Bean(); BeanUtils.getProperty(bean,"happy");
造成此例外:
Exception in thread "main" java.lang.NoSuchMethodException: Property 'happy' has no getter method in class 'class Bean'
将所有内容更改为原始布尔允许set和get调用都可以工作.然而,我没有这个选项,因为这些是生成的类.我认为这是因为Java Bean库只考虑一个是< name>如果返回类型是一个原始布尔值,而不是包装器类型Boolean,则表示一个属性的方法.有没有人有关于如何通过BeanUtils访问这样的属性的建议?有没有一些可以使用的解决方法?
解决方法
原文地址:https://www.jb51.cc/java/126761.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。