java - 是否存在表示 instanceof 运算符的现有 Predicate?

标签 java java-8

我正在使用 Java 8 的 lambda 表达式对列表进行分区(使用 .collect(Collectors.partitioningBy(...)))并且我需要我的分区标准是元素是否是一个实例给定类(class)的。

做如下工作

list.stream().collect(Collectors.partitioningBy(elt -> elt instanceof EltType))

但是是否有一个现有的“InstanceOf”谓词我可以通过方法引用来使用?

最佳答案

是的,你可以使用 Class::isInstance

This method is the dynamic equivalent of the Java language instanceof operator

例子

list.stream().collect(Collectors.partitioningBy(EltType.class::isInstance))

关于java - 是否存在表示 instanceof 运算符的现有 Predicate?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59629952/

相关文章:

recursion - Java 8 : Copy directory recursively?

java - 什么时候使用 Volatile 修饰符?

java - 这是一个忽略多线程的有效单例吗

java - Java中梯度下降逻辑回归的实现

java - Java 8 上的 Google App Engine - 开发人员无法使用 java.time。服务器?

scala - 这是 java lambda 在设计中的限制吗

java - ant-contrib 发布任务不起作用

java - 试图从扩展类中获得父类(super class)

java - 使用 lambda 表达式分割 csv 文件

Java 8 optional 添加仅当 optional.isPresent 时才返回结果