jjzjj

predicates

全部标签

c# - 为什么 `Predicate<T>` 与 `Func<T,bool>` 不匹配?

我尝试在C#中编译以下代码:publicstaticTFirstEffective(IEnumerablelist){Predicatepred=x=>x!=null;returnEnumerable.FirstOrDefault(list,pred);}编译器(Mono/.NET4.0)给出以下错误:File.cs(139,47)Thebestoverloadedmethodmatchfor`System.Linq.Enumerable.FirstOrDefault(thisSystem.Collections.Generic.IEnumerable,System.Func)'has

java - 如何在 java 8 stream api 中使用 guava Predicates 作为过滤器

GuavaPredicates不能开箱即用作为java8流API的过滤器。例如这是不可能的:Numberfirst=numbers.stream().filter(com.google.common.base.Predicates.instanceOf(Double.class))).findFirst().get();如何将guava谓词转换为java8谓词,如下所示:publicstaticPredicatetoJava8(com.google.common.base.PredicateguavaPredicate){return(e->guavaPredicate.apply(e

java - 将额外的(第二个)参数传递给 Guava Predicate

我有这个Predicate,它根据日期过滤我的Task对象:PredicatestartDateFiltering=newPredicate(){@Overridepublicbooleanapply(Taskinput){returninput.getStartDate()!=null&&input.getStartDate().after(date);}};只要date变量在上下文中可访问,使用它就没有问题。但是,我想让它可重用并将其嵌入到Task类本身中,执行如下操作:publicstaticfinalPredicatestartDateFiltering=newPredicat

java - 找不到 com.google.common.base.predicate 类文件的修复方法是什么?

我已经开发了一段时间的selenium程序现在出现了com.google.common.base.Predicatenotfound当我在Netbeans中打开它时。似乎某些Java更新已删除或更改了该库。是否必须重新安装或是否有一些替代品? 最佳答案 此类是Guava的一部分图书馆。它必须在您的类路径中。但是在升级Java时,库不会神奇地从项目的类路径中消失。一定是有人删除了它。 关于java-找不到com.google.common.base.predicate类文件的修复方法是什么

Java 8 Predicate - 为什么不能连接通配符泛型谓词?

考虑以下代码:publicclassMain{privatestaticPredicatepredicate=testObject->true;privatestaticPredicatepredicate1=testObject->true;publicstaticvoidmain(String[]args){Listobjects=Lists.newArrayList(newTestObject(),newTestObject());objects.stream().filter(predicate.or(predicate1)).findFirst();}}编译不通过,报错:Er

java - (Predicate<? super String> s) 或 (String s)

我有一个TreeSet字符串(硬编码)。想要检查给定的参数字符串,例如。“人”如果存在于TreeSet中则返回true否则返回false.在这里,我对关于Eclipse的消息感到困惑(Predicates)对比(Strings):ThemethodanyMatch(Predicate)inthetypeStreamisnotapplicableforthearguments(String)请指导。importjava.util.Set;importjava.util.TreeSet;importjava.util.function.Predicate;publicclassSystem

java - 将参数传递给谓词

我有以下搜索条件图:privatefinalMapsearchMap=newHashMap();privatevoidinitSearchMap(){PredicateallDrivers=p->p.getAge()>=16;PredicateallDraftees=p->p.getAge()>=18&&p.getAge()allPilots=p->p.getAge()>=23&&p.getAge()我按以下方式使用这张map:pl.stream().filter(search.getCriteria("allPilots")).forEach(p->{p.printl(p.getPr

java - 创建 lambda 表达式的字符串表示形式

这个问题在这里已经有了答案:Isitpossibletoretrievelambdaexpressionatruntime(2个答案)关闭8年前。出于调试目的,我正在尝试在Java8中创建lambda表达式的字符串表示形式(特别是Predicate,尽管它对其他lambda表达式也很有趣)。我的想法类似于这个:publicclassWhatever{privatestaticStringpredicateToString(Predicatepredicate){Stringrepresentation=...//domagicreturnrepresentation;}publicst

java - 是否有与 .Net 中的 Predicate<T> 方法等效的 Java 1.5?

具体来说,我正在寻找与Collection.TrueForAll类似的简洁符号/Exists等不得不编写一个foreach循环来检查每个对象的方法返回,这感觉很糟糕,所以我希望有一个更好的Java习惯用法。 最佳答案 Predicates在GoogleCollections中提供图书馆。 关于java-是否有与.Net中的Predicate方法等效的Java1.5?,我们在StackOverflow上找到一个类似的问题: https://stackoverfl

java - 如何有条件地替换 Collection 中的值,例如 replaceIf(Predicate<T>)?

如果List或Collection中的值为null,是否有任何简单的方法可以替换该值?我们总能做到list.stream().filter(Objects::nonNull);并可能将0添加回列表。但我正在寻找的是类似list.replaceIf(Predicate)的API. 最佳答案 这只适用于List,不适用于Collection,因为后者没有替换或设置元素的概念。但是给定一个List,使用List.replaceAll()方法很容易做你想做的事情:Listlist=Arrays.asList("a","b",null,"c"