java - 如何使用布尔条件过滤java流?
问题描述
我正在尝试使用如下布尔条件过滤列表。但这不起作用。
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;
}
解决方案
一个数量永远不能同时小于5
和大于60
。所以,下面的代码没有意义:
if (age.length() < 5 && age.length() > 60) {
return false;
}
您想将其更改为:
if (age.length() < 5 || age.length() > 60) {
return false;
}
推荐阅读
- ios - 在 iOS 中基于 scheme 管理 Pod
- c# - 用户控件并从放置在用户控件中的控件引发事件
- nginx - 在 NGINX 后面时所有网站链接都断开
- java - Java.lang.classnotfoundexception - HelloWorld.class
- javascript - 当应用程序在虚拟文件夹中运行时,Webpack 不加载脚本
- python - 无法重命名熊猫 DataFrame 中的第一列
- vba - 始终保持 Excel 最小化
- java - Java Melody - 点击命中 URL 时解析模板“错误”时出错
- vba - 如何同时在多个 Wksheets 中搜索字符串?
- c# - 一个大视图中的几个小视图 mvvm light