美文网首页
java判断反射的Field是不是用final修饰

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

作者: 呓语的风 | 来源:发表于2019-02-25 18:32 被阅读0次

    今天调用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是判断反射修饰符的工具类,还有许多其他的静态判断方式:

    静态方法截图

    有兴趣的小伙伴可以亲自尝试一下。

    相关文章

      网友评论

          本文标题:java判断反射的Field是不是用final修饰

          本文链接:https://www.haomeiwen.com/subject/oiydyqtx.html