如何使用布尔条件过滤java流?
我正在尝试使用布尔条件筛选列表,如下所示。但这是行不通的如何使用布尔条件过滤java流?,java,java-8,Java,Java 8,我正在尝试使用布尔条件筛选列表,如下所示。但这是行不通的 public void write(List<? extends Student> items) { List<Student> list = items.stream().filter( student -> checkAge(student.getage())).collect(Collectors.toList()); super.write(list); }
public void write(List<? extends Student> items) {
List<Student> list = items.stream().filter( student ->
checkAge(student.getage())).collect(Collectors.toList());
super.write(list);
}
public boolean checkAge(String age) {
if (age.length() < 5 && age.length() > 60) {
return false;
}
return true;
}
public void write(ListA数量不能同时小于5
和大于60
。因此,以下代码没有意义:
if (age.length() < 5 && age.length() > 60) {
return false;
}
if(age.length()<5&&age.length()>60){
返回false;
}
您希望将其更改为以下内容:
if (age.length() < 5 || age.length() > 60) {
return false;
}
if(age.length()<5 | age.length()>60){
返回false;
}
如果条件没有返回true,我也必须记录。共享代码中有什么不起作用呢?checkLength
和checkAge
应该是相同的吗?age.length()<5&&age.length()>60
将永远不会计算为true