今天用反射给对象赋值,有一个属性始终报错,主要错误信息如下:

java.lang.NoSuchFieldException: otherFeatures at java.lang.Class.getDeclaredField(Unknown Source)at com.zxiaofan.MedicalAssistanObtainService.business.CrawlDataBusiness.setSpecialAttribute(CrawlDataBusiness.java:163)at com.zxiaofan.MedicalAssistanObtainService.business.CrawlDataBusiness.crawDrmedData(CrawlDataBusiness.java:106)at com.zxiaofan.MedicalAssistanObtainService.business.CrawlDataBusinessTest.test(CrawlDataBusinessTest.java:33)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

网上说NoSuchFieldException错误是由于没有对应字段造成的,或者当属性为私有时获取Field用的方法不是getDeclaredField。

Field field = bo.getClass().getDeclaredField(fieldName); // 正解

但是我的对象内确实是有otherFeatures属性的,而且用的是上述方法,查了好久,终于找到原因:

otherFeatures曾经从文本读取过,而文本里的otherFeatures多了空格,如果仔细查看,上面的异常也多了空格的!!!

So:NoSuchFieldException异常原因:①没有对应字段;②属性为私有时获取Field用的方法不是getDeclaredField。

死死往这两个方面去找原因吧。

Java反射异常:java.lang.NoSuchFieldException相关推荐

  1. java反射异常ava.lang.IllegalArgumentException: argument type mismatch

    项目使用Springboot+mybatis进行落库,出现问题: java.lang.IllegalArgumentException: argument type mismatchat sun.re ...

  2. java反射异常之java.lang.NoSuchFieldException: school

    今天调用下面的代码的时候 Field schoolField = studentClass.getField("school");schoolField.setAccessible ...

  3. Java 异常java.lang.IllegalArgumentException: Illegal group reference

    Java 异常java.lang.IllegalArgumentException: Illegal group reference 参考文章: (1)Java 异常java.lang.Illegal ...

  4. mysql:java.lang.ClassCastException: java.base/java.math.BigInteger出现类型转换错误

    一.错误信息 mysql:java.lang.ClassCastException: java.base/java.math.BigInteger cannot be 二.解决方法 这个就是因为你用的 ...

  5. java parseint null_java.lang.NumberFormatException: null Integer.parseInt的方法错误 具体问题代码在补充 到底怎么更改...

    问题原因:java.lang.NumberFormatException:nulljava.lang.Integer.parseInt(Integer.java:415)java.lang.Integ ...

  6. jni调用java类_JNI之C++调用Java类 —— java.lang.String

    JNI之C++调用Java类 -- java.lang.String 为什么要用C++调用Java类?很难回答,写着文章只是觉得JNI很有意思.于是开始编写一段使用VC++在Windows系统里调用j ...

  7. Java ClassNotFoundException – java.lang.ClassNotFoundException

    Java ClassNotFoundException (Java ClassNotFoundException) Java ClassNotFoundException occurs when th ...

  8. Picked up JDK_JAVA_OPTIONS: --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/

    起因是我在创建MAVEN的web项目时,默认的那些模板加载不出来,就想着自己先新建个项目再加web,结果报各种错,其中包括了: Picked up JDK_JAVA_OPTIONS:  --add-o ...

  9. tomcat的startup里为什么有突然多出来了一行这个NOTE: Picked up JDK_JAVA_OPTIONS: --add-opens=java.base/java.lang=ALL-

    tomcat的startup里为什么有突然多出来了一行这个 NOTE: Picked up JDK_JAVA_OPTIONS: --add-opens=java.base/java.lang=ALL- ...

最新文章

  1. mfc 饼图绘画_每周推荐|江南百景图放置类佛系游戏,慢慢玩才是乐趣
  2. Re:从0开始的微服务架构:(一)重识微服务架构--转
  3. java 内存溢出 内存泄露_JVM——内存泄漏与内存溢出
  4. MySQL索引优化分析
  5. 算法竞赛中的随机数产生和断言
  6. 头条2020届实习生笔试题
  7. php 图片保存到本地文件,php 远程图片保存到本地的函数类
  8. PASS云计算书简介——接近完美的模式
  9. HTML前端数据管理,前端数据管理
  10. 机载激光雷达原理与应用科普(九)
  11. 网易公开课计算机原理,网易公开课给大一新生“量身订做”精品课程
  12. 不精确微分/不完整微分(Inexact differential/Imperfect differential)
  13. 阿里云MaxComputer SQL学习之内置函数
  14. 程序员孔乙己!一个愤世嫉俗,脱离低级趣味的人!
  15. Android 高仿微信实时聊天 基于百度云推送
  16. kass中lisp文件_Lisp之文件操作
  17. MTK65XX平台充电调试总结 (转载)
  18. C语言从小到大进行排序
  19. quil-ediotr编辑器工具栏图表鼠标悬浮提示
  20. web前端面试基本知识重点(下)

热门文章

  1. 7-4 特殊数字 (10 分)
  2. 变参函数寻找最大整数值
  3. python语言中list和tuple有什么区别_python之list与tuple的区别
  4. 名字英文name域名_企业建站必读:六大方法锁定最佳企业域名
  5. 部署web应用程序到tomcat
  6. Spring 注解解释
  7. (转)script标签到底该放在哪里
  8. dbgrideh标题排序
  9. Spring框架jar包分类(转)
  10. 02 button的练习