存储一系列预定条件

时间:2014-12-05 06:43:29

标签: java arrays boolean

我尝试创建一个静态实用工具方法,该方法只接受类A的单个输入,其实例已被赋予了自己唯一的id,并检索了boolean描述某个特征是否适用于它们的值。没有模式来描述这种关系;如果没有公式,首先考虑的两个选项是包含所有真实static final int[]的{​​{1}},或者包含"或"的字符串。 id测试。是否还有其他更好的选择,或者使用其中一个优于其他选项?这项任务不是一件大事,但我希望能够让它变得简单易读。

以下是帮助您大致了解我的意思的示例:

||

我认为第二种更直观,但也更重复。任何建议都会非常感激。

2 个答案:

答案 0 :(得分:0)

怎么样:

private static Integer[] validIds = {
    A.instanceM.id, A.instanceZ.id, A.instanceL.id, A.instanceF.id, A.instanceP.id
};

public static boolean getHasCharacteristic3(A input) {
       return Arrays.asList(validIds).contains(input.id)
   }

如果您要经常调用它,您可以将所有ID存储在List中,而不是数组,这样您就不必将数组转换为List来使用contains List的方法。

请注意,如果将它保存在数组中,则它必须是整数数组而不是整数。

答案 1 :(得分:0)

第二个即使看起来很简单,如果你的validIds中的内容更多,代码也会不方便。对于该阵列中的每个值,您必须检查。如果内容的数量更多,则可能最终丢失一个或其他值。所以建议你应该像在第一个实现中那样使用for循环进行迭代