java判断反射的Field是不是用final修饰


今天调用Field.set方法报错:

Caused by: java.lang.IllegalAccessException: Can not set static final long field com.zdwl.wlj.entity.BzUserPersonal.serialVersionUID to java.lang.Long
原因是用final修饰了属性,不能赋值,那如何判断呢?

 

找到了如下的解决方法:

要引用的包:

import java.lang.reflect.Field;
import java.lang.reflect.Modifier;
判断代码:

if (Modifier.isFinal(field.getModifiers()))
return;
Modifier是判断反射修饰符的工具类,还有许多其他的静态判断方式:

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM