首页 > 解决方案 > 带有过滤器和映射的可选内部Java铸造

问题描述

在 Java 8 中,我使用Optional.of(Foo).filter(FooChild.class::instance).map(FooChild.class::cast). 在 Java 9 或更新版本(oneliner)中是否有更快的方法?

标签: java

解决方案


从 Java 15 起,您可以使用带有 instanceof 运算符的模式匹配在一个操作中进行检查和强制转换。像这样:

if (foo instanceof FooChild child) {
  // You can use the child variable here
}

推荐阅读