您的位置:首页 > 产品设计 > UI/UE

java.lang.reflect.Field.set(null, value)

2014-05-14 00:00 465 查看
摘要: 当Field为静态变量时,set方法的第一个参数可以是null

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

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐