0
点赞
收藏
分享

微信扫一扫

Java反射常见问题(一):java.lang.reflect.Field.set(null, value)的作用


1、Filed.set()方法的作用

// Field将指定对象参数上此对象表示的字段设置为指定的新值
void set(Object obj, Object value)

2、概述

今天在阅读源码的时候发现这样一行代码:

field.set(null, value);

Java反射常见问题(一):java.lang.reflect.Field.set(null, value)的作用_字段


真是奇了怪了,还能给null设置一个新值!然后查看Field源码注释发现:如果Field是static的,JVM会忽略obj参数;所以在这种情况下入参可以为null。

Java反射常见问题(一):java.lang.reflect.Field.set(null, value)的作用_反射_02


最后,感叹一下,反射大法是真的强;当然鱼与熊掌不可兼得,效率就不言而喻了。


举报

相关推荐

0 条评论