我看过其他关于此问题的帖子,但它们与这个问题并不完全一样。
我有这个代码:
public static List<Boosters.Builder> GetBoosters() {
List<Boosters.Builder> boosters = new ArrayList<Boosters.Builder>();
Boosters.Builder booster = new Boosters.Builder();
booster.setLarge(Bool.TRUE).setMedium(Bool.TRUE).setSmall(Bool.TRUE);
boosters.add(booster);
booster.setLarge(Bool.FALSE).setMedium(Bool.TRUE).setSmall(Bool.FALSE);
boosters.add(booster);
booster.setLarge(Bool.TRUE).setMedium(Bool.FALSE).setSmall(Bool.TRUE);
boosters.add(booster);
booster.setLarge(Bool.TRUE).setMedium(Bool.TRUE).setSmall(Bool.FALSE);
boosters.add(booster);
// (etc, etc, etc)
return boosters;
}
这是我在 Java 中所做的一些生成类型的一部分。但是 Bool.TRUE/Bool.FALSE 的工作方式有点像普通的 java boolean 值,所以你可以信赖它。
我正在尝试创建一个循环,为我提供 TRUE/FALSE 的所有可能组合:
booster.setLarge(Bool.TRUE).setMedium(Bool.TRUE).setSmall(Bool.TRUE);
我不知道如何在循环中很好地做到这一点。有人可以帮我吗?
最佳答案
使用 Bool#values()
迭代枚举的可能值:
for (Bool large : Bool.values())
for (Bool medium : Bool.values())
for (Bool small : Bool.values())
boosters.add(new Boosters.Builder().setLarge(large).setMedium(medium).setSmall(small));
关于Java:将 TRUE/FALSE 的所有可能组合添加到列表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28960649/