gpt4 book ai didi

java - 比较一类常量的字符串值

转载 作者:行者123 更新时间:2023-12-01 16:34:55 25 4
gpt4 key购买 nike

我的任务是创建一个针对我们的Constants 类运行的测试,以确保该类中的每个值都是唯一的。我不是在谈论常量名称(IDE 会告诉开发人员这些名称是否重复),而是在谈论常量设置的值。

我是 Java 新手,不确定如何执行此操作。

需要明确的是,我的 Constants 类定义如下:

public static final String STATUS_RECEIVED = "RE";
public static final String STATUS_CANCELLED = "CA";
public static final String STATUS_REVIEWED = "RE";

在上面的示例中,我希望我的测试注意到存在重复的值(因为 STATUS_RECEIVED == STATUS_REVIEWED)。我将如何以编程方式执行此操作?

最佳答案

Field[] fields = Constants.class.getDeclaredFields();
List<Field> staticFields = new ArrayList<>();
for(Field f:fields) {
if (Modifier.isStatic(f)) {
staticFields.add(f);
}
}
for (int i = 0; i < staticFields.size(); i++) {
for (int j = i + 1; j < staticFields.size(); j++) {
if (staticFields.get(i).get(null).equals(staticFields.get(j).get(null))) {
throw new AssertionFailedError(staticFields.get(i) + " equals "
+ staticFields.get(j));
}
}
}

关于java - 比较一类常量的字符串值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10214772/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com