Java 命名谓词
我有一个类验证私有成员变量是否匹配作为谓词传入的某些条件Java 命名谓词,java,lambda,Java,Lambda,我有一个类验证私有成员变量是否匹配作为谓词传入的某些条件 public class Verifiable<T> { private final T t; private Verifiable(T t) { this.t = t; } public static <T> Verifiable<T> of(T objToBeVerified) { return new Verifiable<T>(objToBeVer
public class Verifiable<T> {
private final T t;
private Verifiable(T t) {
this.t = t;
}
public static <T> Verifiable<T> of(T objToBeVerified) {
return new Verifiable<T>(objToBeVerified);
}
public List<Predicate<T> verify(List<Predicate<T>> predicates) {
// test against each predicate and return the failed predicates
}
}
Usage:
List<Predicate<T>> predicatesToTest = ...
List<Predicate<T>> failedPredicates = Verifiable.of(someObj).verify(predicatesToTest);
可验证的公共类{
私人期末考试;
私有可验证(T){
t=t;
}
公共静态可验证的(T objToBeVerified){
返回新的可验证(objToBeVerified);
}
公共列表因此,您需要将字符串
绑定到谓词
1) 创建类似元组的东西,这是NamedPredicate
背后的想法
public class NamedPredicate<T> {
Predicate<T> predicate ;
String name ;
}
因此,您需要将字符串
绑定到谓词
1) 创建类似元组的东西,这是NamedPredicate
背后的想法
public class NamedPredicate<T> {
Predicate<T> predicate ;
String name ;
}
因此,您需要将字符串
绑定到谓词
1) 创建类似元组的东西,这是NamedPredicate
背后的想法
public class NamedPredicate<T> {
Predicate<T> predicate ;
String name ;
}
因此,您需要将字符串
绑定到谓词
1) 创建类似元组的东西,这是NamedPredicate
背后的想法
public class NamedPredicate<T> {
Predicate<T> predicate ;
String name ;
}
你用的是Java7还是Java8?@AmirAfghani我想是Java8,他谈到了lambda:)@partheinstein为什么不在verify(…)
中使用参数Map
,而不是List
?@Nizil谢谢。将其作为答案发布,我会这样标记。另一种选择是使用元组列表(字符串、谓词)。在网站上,Scala内置了对元组的支持。您使用的是Java7还是Java8?@AmirAfghani我想是Java8,他谈到了lambda:)@partheinstein为什么不在验证(…)中使用参数映射
而不是列表
?@Nizil谢谢。将其作为答案发布,我将其标记为答案。另一个选项是使用元组列表(字符串、谓词)。在网站上,Scala内置了对元组的支持。您使用的是Java7还是Java8?@AmirAfghani我想是Java8,他谈到了lambda:)@partheinstein为什么不在验证(…)中使用参数映射
而不是列表
?@Nizil谢谢。将其作为答案发布,我将其标记为答案。另一个选项是使用元组列表(字符串、谓词)。在网站上,Scala内置了对元组的支持。您使用的是Java7还是Java8?@AmirAfghani我想是Java8,他谈到了lambda:)@partheinstein为什么不在验证(…)中使用参数映射
而不是列表
?@Nizil谢谢。将其作为答案发布,我将其标记为答案。另一个选项是使用元组列表(字符串、谓词)。在站点说明中,Scala内置了元组支持。如果您想一直发挥功能,可以使用谓词。值().stream.filter(谓词->!谓词。测试(t))获取一个失败谓词流。如果您想一直运行,可以执行predicates.values().stream.filter(predicate->!predicate.test(t))来获取一个失败谓词流。如果您想一直运行,可以执行predicates.values().stream.filter(predicate->!predicate.test(t))获取一个失败谓词流。如果您想一直正常工作,可以执行predicates.values().stream.filter(predicate->!predicate.test(t))来获取一个失败谓词流。