Python的全部()是否有Java等价物?

时间:2016-03-18 13:07:17

标签: java python

我有成千上万的降价模板文件与具有实际内容的降价文件混合在一起。以下python代码段检查符合以下所有条件的每个markdown文件。如果是,我知道它是一个模板,它被移动到同一目录中的模板文件夹中。

我被要求将此代码转换为适合某些现有的java代码,是否存在与Python all()等效的java,或者我需要采取不同的方向。我不熟悉java,我的搜索除了apache.commons中的startswith()函数之外没有任何其他东西。

for i, fpath in enumerate(md_list):
        with open(fpath) as f:
            result = all(line.startswith('#') or line.startswith('[') or
                         line.startswith('|') or line.startswith('(') or
                         line.isspace() for line in f);
            if result is True: do something

2 个答案:

答案 0 :(得分:1)

您可以定义您的方法,如下所示:

public static boolean areAllTrue(boolean[] array)
{
    for(boolean b : array) if(!b) return false;
    return true;
}

使用set的东西:

Set<Boolean> flags = new HashSet<Boolean>(myArray);
flags.contains(false);

或者

 Arrays.asList(myArray).contains(false)

显然,你需要首先创建你的布尔数组进行检查。

答案 1 :(得分:1)

如果使用Java 8,则有一个allMatch函数

lines.stream().allMatch(line -> condition1(line) && condition2(line)...)