gpt4 book ai didi

Java 内联谓词 : cannot be resolved to a variable

转载 作者:行者123 更新时间:2023-11-30 07:12:39 25 4
gpt4 key购买 nike

很抱歉这个简单的问题 - 我来自 .NET 堆栈。我想要的只是一个内联谓词。请告诉我我做错了什么:

toReturn = Iterables.find(articles, a -> a.toString().equals(input));

它告诉我“a 无法解析为变量”。我假设我只需要导入或者我使用的是旧版本的 Java?提前致谢!

最佳答案

您尝试做的事情在 Java 7 或更早版本中是不可能的;它存在于 Java 8 及更高版本中。在 Java 7 及之前的版本中,您可以使用 lambdaj虽然有类似的效果。它看起来像这样:

toReturn = Iterables.find(articles, new Predicate<Object>() {
public boolean apply(Object item) {
return item.toString().equals(input);
}
});

更多详情可以查看here .

编辑:正如评论中指出的那样,还有其他选择。当你使用 Iterables我猜你会想要一个 com.google.common.base.Predicate可以非常相似地定义:

toReturn = Iterables.find(articles, new Predicate<Object>() {
public boolean apply(Object item) {
return item.toString().equals(input);
}

public boolean equals(Object obj) {
// check whether the other object is also a Predicate
}
});

关于Java 内联谓词 : cannot be resolved to a variable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20222697/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com