我是靠谱客的博主 单纯蜡烛,最近开发中收集的这篇文章主要介绍java.lang.reflect.Field.set(null, value),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

今天阅读代码是发现一行代码:

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)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(39)

评论列表共有 0 条评论

立即
投稿
返回
顶部