2016-03-18 34 views
-1

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

我被要求将此代码转换为适合某些现有的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 

回答

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) 

显然,你需要首先创建布尔数组做你的支票。

+0

好了,第一个例子应该满足我的需求。感谢您的回复并发布上面的链接。 – Tim

1

如果使用Java 8有一个allMatch功能

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

我喜欢这一点,但是我们将发送代码的大多数系统仍然在Java 7上。感谢您的回复。 – Tim

相关问题