有人可以告訴我這裏有什麼問題。我的代碼沒問題,直到我添加了這部分代碼if(!tmp.isEmpty()){return e.isEmpty(); } 錯誤是:無法解析方法startsWith(java.lang.String中)無法解決方法startsWith使用anyMatch
@Test
public void TestData() {
ArrayList<String> rootOpts = new ArrayList<String>();
rootOpts.add("aa");
rootOpts.add("bb");
rootOpts.add("ac");
ArrayList<String> allSiblings = new ArrayList<String>();
allSiblings.add("aa");
allSiblings.add("ac");
allSiblings.add("abc");
System.out.println("allMatch " + rootOpts.stream()
.map((e) -> {
System.out.println("e = " + e);
List<String> tmp = new ArrayList<String>();
tmp.addAll(allSiblings);
String[] CHs = {"ab","aa","ac"};
for (String chh : CHs) {
tmp.remove(chh);
}
if (!tmp.isEmpty()) {
return e.isEmpty();
}
return e;
})
.anyMatch(v -> v.startsWith("a")));
}
我試圖改寫下面的下面的代碼(該代碼包含在應該返回一個布爾值true的方法或假):
for (Option e : rootOpts) {
List<String> tmp = new ArrayList<String>();
tmp.addAll(allSiblings);
if (e.getData() != null && !e.getData().getString().isEmpty()) {
String[] chs = {"ab","aa","ac"};
for (String ch : chs) {
tmp.remove(ch);
}
} else {
return false;
}
if (!tmp.isEmpty()) {
return false;
}
}
return true;
感謝您的幫助球員
添加這個不起作用:if(!tmp.isEmpty()){ return new ArrayList(); }。我的目標是如果我的tmp列表不是空的,我應該返回false。 –