概述
今天阅读代码是发现一行代码:
field.set(null, value);
但是特别诧异,因为我记得API文档中对此有描述,第一个参数是Field所属的instance,如果是null,不会抛空指针异常吗?
请教别人后才发现,API中还有一句话我没有注意:
* <p>If the underlying field is static, the <code>obj</code> argument is
* ignored; it may be null.
表示如果Field是static的,则obj即便给它传值,JVM也会忽略的。还说明了,此入参在这种情况下可以为null
转载于:https://my.oschina.net/u/1450535/blog/264550
最后
以上就是单纯蜡烛为你收集整理的java.lang.reflect.Field.set(null, value)的全部内容,希望文章能够帮你解决java.lang.reflect.Field.set(null, value)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复