我有一个看起来像这样的列表:

List<String> messages = Arrays.asList("//", "/*", "*", "}", "{");


然后,我读入一个文件并逐行浏览。我想检查行首是否与列表中的任何内容匹配。

我以前是这样做的,但这似乎并不是完成我想做的最有效的方法:

/*
if (!strLine.startsWith("//") && !strLine.startsWith("/*") && !strLine.startsWith("*")  && !strLine.startsWith("}") && !strLine.startsWith("{")) {
System.out.println(strLine);
}
*/


关于什么是最好的方法有什么建议吗?

最佳答案

public boolean isInList(List<String> list, String strline){
   for(String message:list){
     if(strline.startsWith(message)){
       return true;
     }
  }
  return false;
}

//Usage
String someString = "something";
List<String> messages = Arrays.asList("//", "/*", "*", "}", "{");

if(isInList(messages,someString)){
   System.out.println("foundMatch");
}

关于java - 检查行是否以列表中的内容开头,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13273495/

10-12 04:57