Java反射异常:java.lang.NoSuchFieldException
2023-09-14 08:57:57 时间
p /p
pre code_snippet_id= 1653182 snippet_file_name= blog_20160419_1_2018676 name= code > 今天用反射给对象赋值,有一个属性始终报错,主要错误信息如下:
Java服务CPU100%异常排查实践总结 写作目的 最近看牛客网发现了CPU 100% 怎么办这个问题,这个问题的重点是定位和解决,会用到Linux和java的的很多命令,所以写篇博客记录和总结一下。
zxiaofan 【zxiaofan.com】Life is all about choices!生命不息,学习不止。
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)
Field field = bo.getClass().getDeclaredField(fieldName); // 正解
但是我的对象内确实是有otherFeatures属性的,而且用的是上述方法,查了好久,终于找到原因:
otherFeatures曾经从文本读取过,而文本里的otherFeatures多了空格,如果仔细查看,上面的异常也多了空格的!!!
So:NoSuchFieldException异常原因:①没有对应字段;②属性为私有时获取Field用的方法不是getDeclaredField。
死死往这两个方面去找原因吧。
Java服务CPU100%异常排查实践总结 写作目的 最近看牛客网发现了CPU 100% 怎么办这个问题,这个问题的重点是定位和解决,会用到Linux和java的的很多命令,所以写篇博客记录和总结一下。
zxiaofan 【zxiaofan.com】Life is all about choices!生命不息,学习不止。
相关文章
- java用什么编译器_Java用Java编译「建议收藏」
- java除零异常_JAVA异常处理
- java启动器_JAVA基础:Java 启动器如何查找类
- java语言的平台无关性是指什么,《深入Java虚拟机》学习笔记二:平台无关性
- Java 多线程(超详细)
- java空指针报错_空指针异常是什么意思
- java 构造器 构造方法_Java构造器(构造方法/constructor)
- Java 8 的 java.util.function.* POJO 的反射新方法
- 【Java基础】异常?NullPointException?世界上怎么会存在这种东西?
- java租房app房东直租系统租房网站
- java的自定义异常
- Java中的异常Exception和捕获,自定义异常
- java JNI: C 语言调用 Java 方法示例详解编程语言
- Java异常处理之InvocationTargetException(反射异常)详解编程语言
- Java AtomicBoolean (Java代码实战-008)详解编程语言
- 数据库解锁Java,优雅连接Oracle数据库(java使用oracle)
- Java中的异常(Exception):什么是异常?异常产生的原因及常见的几种异常类型
- Java轻松使用Redis实现数据高效存储(java使用redis)
- 数据清理实现Redis Java中过期数据的清理(redisjava过期)
- 策略解析Redis Java过期策略的有效实施(redisjava过期)
- 存储过程使用Java语言执行Oracle存储过程(java执行oracle)
- Java和Oracle技术融合,汇聚智能新大陆(java oracle包)
- Redis实现Java语言下的遍历处理(redis遍历java)