tup*_*kur 5 java list conditional-statements java-stream
我正在使用这种方法:
public boolean checkRowsFilterNameBy(String filter){
waitForElmContainsText(searchButton, "Search");
List<AuditRow> listRows = auditTable.getTable();
for(AuditRow row : listRows){
if(!row.nameStr.equals(filter)||!row.nameStr.contains(filter))
return false;
}
return true;
}
Run Code Online (Sandbox Code Playgroud)
并且我希望能够使用Stream进行更改,我尝试了以下操作,但是我缺少了一些东西:
listRows.stream().forEach(auditRow -> {
if(auditRow.actionStr.equals(filter))return true;} else return false;);
Run Code Online (Sandbox Code Playgroud)
但我遇到一个错误。
你可以这样做,
listRows.stream().allMatch(row -> row.nameStr.equals(filter) && row.nameStr.contains(filter));
Run Code Online (Sandbox Code Playgroud)
更新
根据 Holgers 的建议,这可以进一步简化为这样。
listRows.stream().allMatch(row -> row.nameStr.contains(filter));
Run Code Online (Sandbox Code Playgroud)
equals或 的使用contains可能会根据您的上下文而有所不同。
| 归档时间: |
|
| 查看次数: |
1180 次 |
| 最近记录: |