gpt4 book ai didi

java - Lambdaj 类类型转换

转载 作者:行者123 更新时间:2023-11-30 11:46:21 25 4
gpt4 key购买 nike

我有这样的代码:

List<ClassB> back = new ArrayList<ClassB>();
for( ClassA classA : getClassAs() )
{
if( classA instanceof ClassB )
{
back.add((ClassB) classA);
}
}

B 类扩展了 A 类

在 lambdaj 中有一些聪明的方法可以做到这一点吗?我知道有 IsInstanceOf 匹配器,但我必须“手动”进行转换。

提前致谢

魔珠

最佳答案

这不是那么有效,但可以提供一些方向:

您的原始列表在您的帖子中被命名为“返回”:

1.按类型将“返回”元素过滤到新列表中(仅包含类型 B 的对象的列表)

List bList = Lambda.filter(org.hamcrest.Matchers.instanceOf(B.class),back);

2.使用转换器对象将过滤后的对象列表bList转换为List

List<B> list = Lambda.convert(bList,new Converter<Object, B>() {
public B convert(Object from) {
return (B) from;
}
});

关于java - Lambdaj 类类型转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9835409/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com