(已解决)属性命名错误导致ReflectionException: there is no setter for property named xxxx

目录

ReflectionException:there is no setter for property named 'xxxx'

问题现象:

问题分析:

解决方法:


ReflectionException:there is no setter for property named 'xxxx'


问题现象:

今天在项目中遇到了一个小问题,记录一下,问题如下图:


问题分析:

这里报错信息是说:发生了ReflectionException异常,原因是这个名为'quUsedPercentage'没有setter方法.

也许有很多伙伴也有遇到过类似的问题,而且很可能和我接下来的经历一模一样:

一般来说,靠下面解决方法的第一点基本都不能解决该问题,因为写完实体类的属性,随手加上getter/setter和toString();可以说是大部分程序员都会做的事,尤其是使用IDEA的伙伴们,那更是5秒的时间就可以用快捷键搞定了.

所以如果是第一点就能解决的话,那你真的需要面壁思过了.

因此,我也写了getter/setter方法,为了更加确定,我还故意重新生成了一次getter/setter方法.

然而结果还是不行,那么到底该如何解决这个问题呢?

在IDEA里面有个全项目搜索的快捷键(我的是 ctrl + h),另外说明一下,ctrl + f 是当前文件的全文检索;

经常使用IDEA的小伙伴肯定对这些功能不陌生;这里我们使用全项目检索,搜索出问题的那个属性名 quUsedPercentage,然后就能发生问题所在了,

检索文件里面没有我们刚才用到的那个实体类,也就是说这个关键词,就没有在实体类中出现过.

由此可知,是属性的命名出问题了.

我去到实体类,使用 ctrl + f 的全文检索功能,发现确实找不到这个关键词,于是我就手动就定位了.

发现实体类中这个属性的命名是: qxUsedPercentage

乍一看真的看不出来,仔细看的话,就会发现:

开头那里是qx,而报错的是qu.


解决方法:

1.首先去查看这个报错的属性,它所在的实体类;看看是否有写入该属性的getter/setter方法.

2.将实体类中的qxUsedPercentage改为quUsedPercentage,则重新生成getter/setter方法.

问题解决!!!!!!

 

展开阅读全文
©️2020 CSDN 皮肤主题: 大白 设计师: CSDN官方博客 返回首页
实付0元
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值