关于类名大小写引发的MissingPropertyException错误
来源:互联网 发布:阿里云机房 编辑:程序博客网 时间:2024/05/24 06:13
之前就听说过在写类名时候要主要大写,一直也按照规矩来,今天写代码时无意中写成类名首字母小写带出了MissingPropertyException的异常,截图在下。
(1)修改前:类名首字母小写——代码段的情况
(2)修改前:类名首字母小写——包的情况
(3)修改前:类名首字母小写——引出的MissingPropertyException异常
(4)修改后:类名首字母大写——代码段的情况正常
(5)修改后:类名首字母大写——包的情况正常
总结:从上面我们可以看到,小写的类名首字母会引发MissingPropertyException异常,需要在今后的编程中注意。
PS:有哪位大神可以回复讲解一下这是什么原理啊?万分感谢!
----------------------------------------------------------------------------------------------------------------------------
续:关于这个类名大小写引发的MissingPropertyException问题的个人见解解析
后来研究了一下,发现应该是设定为groovy项目引发的问题,因为groovy和java对类的识别机制是不同的。
下面写了很小的demo来让程序将这个问题表现出来:
(1)java项目中的代码以及输出
(2)java项目中的包的情况
(3)groovy项目中的代码
(4)groovy代码中的包的情况
总结:虽然我没有完全清晰的理解java和groovy对类名的判断机制到底有什么不同,但是通过demo可以清楚的看到,就连java项目中可以编译执行的myJavaClass也由于类名的首字母小写,导致无法在groovy中获得合法编译。目前看到的材料说,首字母小写的类名会被groovy视为变量而不是类,所以出现图(3)中的“myJavaClass jc2 =new myJavaClass();”中的第一个myJavaClass被视为变量,所以不满足语法且报错,而new后面的明显被声明为类的myJavaClass可以找到并且被识别为类。
留在这里,以后进一步学习。
- 关于类名大小写引发的MissingPropertyException错误
- 表名大小写敏感引发的问题
- 关于Hibernate实体类属性名的大小写的问题,出现了找不到该属性的错误
- 关于各种数据库中表名的大小写
- 关于oracle 实例名大小写的问题
- Switch中default的D大小写引发的错误
- 关于释放指针引发的一个错误
- 关于oracle表名区分大小写的问题
- 关于oracle表名区分大小写的问题
- 关于引发异常的问题(异常名后,实例)
- 关于mysql 数据库表名区分大小写导致程序错误解决方法
- 关于mysql的表名/字段名/字段值是否区分大小写的问题
- mysql的表名大小写
- URL大小写引发的问题研究
- 参数名引发的血案
- / 引发的错误
- snprintf引发的错误
- =引发的错误
- Maven 之 findbugs 插件
- 什么是设计模式
- 【基础算法】排序-简单排序之二(选择排序)
- Android系统Recovery工作原理之使用update.zip升级过程分析(四)---Android系统Recovery模式的工作原理
- Android打包之Eclipse打渠道包
- 关于类名大小写引发的MissingPropertyException错误
- MySQL server has gone away 问题的解决方法
- android手势处理
- #if、#elif、#else、#endif的使用
- 分析Java 死锁以及MemoryLeak问题
- scrum结合禅道的学习
- 又好又快,免费学习编程的9个地方
- 笔记本硬盘不见文件能恢复回来吗
- 大学规划