gpt4 book ai didi

java按类查找列表元素

转载 作者:行者123 更新时间:2023-11-30 10:32:40 24 4
gpt4 key购买 nike

我正在使用 soot 来分析 Java 代码。因为 Soot 仍然没有完整的 Java 8 支持,所以我正在使用 Java 7。我需要获取 LinkedRValueBox 类的第一个元素。

我的实际列表如下所示:

[ImmediateBox(0), ImmediateBox(1), LinkedRValueBox(0 + 1)]

当然,我可以迭代列表并使用 instanceof 证明每个元素。我找不到解决此问题的任何方法。

最佳答案

如果您愿意使用第三方库,请使用 Eclipse Collections版本 7.x,你可以使用 detectPredicates.instanceOf() 或者如果你想过滤列表,可以使用 选择实例()。下面是一个使用不同类型的 Number 并检测 Double 的第一个实例的示例。

MutableList<? extends Number> list =
Lists.mutable.with(new Integer(0), new Long(0), new Double(0));
Number detect = list.detect(Predicates.instanceOf(Double.class));
MutableList<Double> doubles = list.selectInstancesOf(Double.class);
Double first = doubles.getFirst();
Assert.assertTrue(detect instanceof Double);
Assert.assertSame(detect, first);

Eclipse Collection 版本 8.x 使用 Java 8 编译,但版本 7.x 使用 Java 5 或更高版本。

注意:我是 Eclipse Collections 的提交者.

关于java按类查找列表元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42582992/

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