java – 如何使用最特殊类型的两个对象作为返回类型?
发布时间:2020-12-15 08:27:36 所属栏目:Java 来源:网络整理
导读:我基本上想要的是,推断出更专业的类型,如下例所示: PredicateObject first;PredicateString second;PredicateString firstOr = first.or(second);PredicateString secondOr = second.or(first); 方法签名或(…)如何实现这一目标? 解决方法 这可以通过以下P
我基本上想要的是,推断出更专业的类型,如下例所示:
Predicate<Object> first; Predicate<String> second; Predicate<String> firstOr = first.or(second); Predicate<String> secondOr = second.or(first); 方法签名或(…)如何实现这一目标? 解决方法
这可以通过以下Predicate< T> ::或的声明来完成:
default <R extends T> Predicate<R> or(Predicate<? super R> other) { return r -> this.test(r) || other.test(r); } 这将允许或为两种谓词类型的任何子类型创建谓词.因此,例如,以下方法可行: Predicate<Object> first; Predicate<Number> second; Predicate<Integer> firstOr = first.or(second); Predicate<Integer> secondOr = second.or(first); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- java – 当本周的第一天是在上一年时,如何严格分析一个只有
- 2.2_Database Interface:ODBC基本概念
- java – 一个按钮的Android背景文本图标
- java – 为什么我需要添加神器JSR305才能使用Guava 14?
- java – 在不修改Test类的情况下排除单个JUnit Test方法?
- 如何将inputstream转换为InputStreamsource或Datasource以在
- Java – 信号/插槽机制
- 延迟从Java到同一台机器的多个TCP连接
- Javaweb项目session超时解决方案
- 部署 – Clojure / Ring:如何将我的clojure应用程序与我无