有没有办法在运行时判断Java的final字段是否是常量?

问题描述 投票:0回答:1

我希望能够在运行时(大概使用反射)区分这两种情况,前者在初始化时定义了一个最终字段(即常量),后者通过构造函数定义它。

class MyClass {
    
    final int value = 42;
    
    public MyClass() {
    }

}
class MyClass {
    
    final int value;
    
    public MyClass() {
        value = 42;
    }

}

我尝试通过检查字段的访问标志和修饰符来执行此操作,但没有找到任何相关内容。

有办法做到这一点吗?

java reflection constants field final
1个回答
0
投票

不。 一个只是另一个的语法糖,因此反射可以识别的运行时没有实际差异。

© www.soinside.com 2019 - 2024. All rights reserved.