我需要实现仅显示集合中带有引号的那些元素:
其口语字段值大于指定值
wherespeaking
是一个布尔变量,神奇的“给定”也是一个布尔变量的值,但已经由用户输入。换句话说,您需要实现“>”和“<”运算符,但对于布尔变量。
听起来很傻,但这就是工作。所以,需要做点什么。
对我来说足够的最大值是编写以下代码:
List<Dragon> list = new ArrayList<>(collectionManager.getCollection());
list = list.stream().filter(o-> o.getSpeaking().equals(Boolean.valueOf(arg))).toList();
但是这样我只能得到说话等于输入的对象,而不是更少/更多。请帮助并感谢您的时间。
PS可能值得解释一下代码的预期结果。据我了解,如果用户输入true
,则程序不应显示任何内容。If false
- 仅显示字段值为 的对象speaking
true
。一般来说,我们还需要一个具有反向操作的函数(改变以前的句子true
和false
位置),但我可以通过一个例子自己弄清楚。
从你的 PS 中,这个伪代码出来了:
步骤1:
第2步:
在 Java 语言中: