A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 朱亚安 中级黑马   /  2012-3-19 13:49  /  2129 人查看  /  8 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

今天使用BeanUtils操作javaBean的时候,相关的jar文件都已经导进去了,可是在执行的时候总是报错,
ReflectPoint p = new ReflectPoint(3,4);
System.out.println(BeanUtils.getProperty(p,“x”));
报错如下:
     
      Exception in thread "main" java.lang.NoSuchMethodException: Property 'x' has no getter method in class 'class ReflectPoint'
        at org.apache.commons.beanutils.PropertyUtilsBean.getSimpleProperty(PropertyUtilsBean.java:1327)
        at org.apache.commons.beanutils.PropertyUtilsBean.getNestedProperty(PropertyUtilsBean.java:770)
        at org.apache.commons.beanutils.BeanUtilsBean.getNestedProperty(BeanUtilsBean.java:715)
        at org.apache.commons.beanutils.BeanUtilsBean.getProperty(BeanUtilsBean.java:741)
        at org.apache.commons.beanutils.BeanUtils.getProperty(BeanUtils.java:382)
        at Testx3.main(Testx3.java:28)
         这是怎么回事,那个ReflectPoint类里面有属性x的get方法呀,为什么会报这样的错呢

8 个回复

正序浏览
丁佼 黑马帝 2012-3-20 16:01:23
9#
Bean之所以为Bean就是它识别的时候对元素的名字有特殊要求,你的get和set方法后面名称必须和你的元素名一致,即"xxx"对应的只能为getxxx()或者getXxx()这两种之一。强调一下,这里即使是使用getXXX(),这样的格式也是不可以的。

附文参考(JavaBean的命名规则 ):
http://lzh166.iteye.com/blog/631838
回复 使用道具 举报
王思兰 黑马帝 2012-3-20 14:27:09
8#
就是在ReflectPoint 里定义getX和setX方法
回复 使用道具 举报
王思兰 黑马帝 2012-3-20 14:26:38
7#
你的x属性没有get或set方法
回复 使用道具 举报
本帖最后由 马云 于 2012-3-20 14:01 编辑

请问上边的代码是你烤过来的吗?如果是我就有答案了!

从借误的提示来看是说类中没有一个带x那个属性的方法,如果你上边的代码是copy过来的那么应该是双引号写错了吧请看下边 的中英文下双引号的样子

中文“x”  英文"x"
回复 使用道具 举报
NoSuchMethodException,这个错误我当时遇到的时候,也是以为方法的定义问题,后来发现其实是方法的权限问题,就我所知的是这两点。
回复 使用道具 举报
get方法名 getX()
回复 使用道具 举报
吴璞玉 发表于 2012-3-19 14:07
可以把代码都贴一下么

代码就那两行,有个另外定义的类错误是说找不到相应的get方法,而事实是那个类中是有get方法的呀并且编译没有错误呀。。。这个就不用把那个代码贴出来了吧
回复 使用道具 举报
{:soso_e103:}可以把代码都贴一下么
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马