【发布时间】:2019-05-04 19:50:23
【问题描述】:
免责声明:我对 Java 有点陌生 :)
我正在对一些数据进行一系列选择,为了跟踪选择的每个阶段发生的情况,我使用int 计数器。这些计数器都在一个数据对象中:
public class MyCounters {
private int counter0;
private int counter1;
...
}
我还必须计算有多少候选人最终属于给定数量的类别,我用enum 来说明这一点。为此,我创建了List<Integer>,其中列表的索引覆盖了枚举的值。
private List<Integer> myList;
稍后在代码中我需要一个专用方法来用零初始化列表:
for (MyEnum i : MyEnum.values()) {
myList.add(0);
}
然后,在主代码中,一旦分配了最终类别,就会发生这种情况:
myCounters.getMyList().set(myEnum.ordinal(), myCounters.getList().get(myEnum.ordinal()) + 1);
有人建议我可以使用 Lombok 的 @Builder.Default 功能(或者可能是 @Singular)改进声明/初始化步骤,但我真的不知道如何:最后我需要初始化一个 List<Integer>与enum 中的值一样多的零。
真的可以使用 Lombok 的扩展来做到这一点吗?还是他们针对不同的东西?
【问题讨论】:
-
我不知道是谁给了你这个建议,但这听起来像 bad 建议。我看不出这有什么关系。你最好让告诉你的人给你一个例子,因为它似乎对你没有帮助。