【发布时间】:2020-05-12 10:03:44
【问题描述】:
我有一个大约 200 个 Java 类的列表。我需要准备一个变量列表(特别是静态的和非最终的),其值在 Java 类中被修改/变异。为了准备所有静态和非最终变量的列表,我使用了反射。
但我不确定如何检查类中的每个变量是否都发生了变异,而无需手动打开每个文件。
class ClassVO{
private static final String name;
private String fieldName;
private static double single=0.01;
private static double value;
void calculate(){
value = value*0.25;
}
}
在上面的示例中,需要返回“值”变量。 是否有任何可用的工具可用于完成此类工作?请分享。
【问题讨论】:
-
听起来是一项乏味的任务。考虑到即使一个字段是最终的,它也可以被改变。例如,添加/删除元素时的最终集合。所以除了修饰符,你应该检查每个实例是否不可变。
-
@Ezequiel,即使集合本身不允许添加、设置或删除,元素也可以是可变的。
-
那么,这是否意味着我必须手动完成。因为这些文件列表很大,我在想一些像 PMD 这样的工具可以解决它,但不确定它的用途。
-
@Chabukswar 我添加了一个答案希望对你有所帮助
-
@Ezequiel 我提供了一个锻炼示例,你可以看看吗?