当前位置: 首页 > 知识库问答 >
问题:

检查每个对象,当满足第一个条件时返回true,否则返回false

羊舌新荣
2023-03-14

我有一个很好的方法。这就是它的样子。

private ArrayList<Car> carsInStore ; //in car class have setter/getter/quals/Constructor.

public boolean checkIfcarInStore(Car c) {   
    for (Car car : carsInStore) {
        if(car.equals(c)){
            return true;
        }
    }}

我想把这个换成Lambda。但我不知道如何填写if(条件)在外面返回true或false。我知道我也可以在流中完成。有人能举个例子吗?

共有2个答案

宗政欣可
2023-03-14

您可以将方法check IfcarInStore()替换为Predicate,它是一个表示布尔条件的函数接口,可以实现为lambda表达式:

Predicate<Car> isInStore = car -> carsInStore.contains(car);

或作为方法参考:

Predicate<Car> isInStore = carsInStore::contains;
融焕
2023-03-14

如果您真的想使用lambda,这应该可以在注释中找到答案。


private ArrayList<Car> carsInStore ;

public boolean checkIfcarInStore(Car c) {   
    return carsInStore.stream().anyMatch(c::equals);
    }
 }

 类似资料:
  • 我有一个很管用的方法。这是看起来的样子。 我想把这个换成兰姆达。里面带着shell来了uo,但是我不知道怎么填充if(条件)返回true还是返回false外面。

  • 如果对于树中的每个非叶节点,存储在该节点的数字小于或等于存储在其每个子节点的数字,则二叉树称为堆(或者,称为满足堆属性)。例如,下面的树满足heap属性,因为3≤ 5, 5 ≤ 8和5≤ 7. 另一方面,下面的树不满足堆属性,因为6不小于或等于5。 示例: 任何帮助都将得到认可。

  • 问题内容: 如果不是原始类型,返回类型的正确方法是什么?例如。我目前使用null如下。 问题答案: Void类是一个无法实例化的占位符类,用于保存对表示Java关键字void的Class对象的引用。 因此,以下任何条件就足够了: 参数化并返回或 参数化并返回 用您的一个参数化 你不能让这种方法,和其他任何回报 的东西 。由于忽略了某些内容,因此您可以返回任何内容。

  • 条款23: 必须返回一个对象时不要试图返回一个引用 据说爱因斯坦曾提出过这样的建议:尽可能地让事情简单,但不要过于简单。在c++语言中相似的说法应该是:尽可能地使程序高效,但不要过于高效。 一旦程序员抓住了“传值”在效率上的把柄(参见条款22),他们会变得十分极端,恨不得挖出每一个隐藏在程序中的传值操作。岂不知,在他们不懈地追求纯粹的“传引用”的过程中,他们会不可避免地犯另一个严重的错误:传递一个

  • 我正在写一些代码,有些事情让我困惑。我有一个名为的数字数组。现在我想遍历这个列表,如果一个值高于60,例如,我想创建一个新的对象数组(集合),在那里我们存储高值,它的索引来自原始数组。所以以下面的代码为例 控制台。日志输出如下 这个输出是我所需要的,但是如何防止返回未定义的值呢?我考虑过使用数组。但这似乎不合适?我应该使用不同的数组方法吗?我不想使用for循环并推送到一个新数组,除非这是在不返回未

  • 问题内容: 我有一个文件夹,其中包含index.js和几个模型(类)index.js book.js author.js 问题在于Author类似乎找不到书!它只是一个空对象。但是,如果我在index.js中切换导出,则将Book放在Author之后- 可以,但是其他模型将停止工作。 我不想做任何骇客工作。 问题答案: 这是因为您具有循环依赖关系。Node.js以非常特定的方式处理此问题: 第一个