java - 将对象数组映射到 Int 数组

标签 java java-8

我正在尝试将 Object[] 数组映射并过滤到 int[] 数组。如果对象是 int,则效果很好,但如果不是,则抛出强制转换异常。我想知道是否可以以某种方式在 lambda 表达式中附加一个 try/catch ?这是我的代码:

b[i] = Arrays.stream(item).mapToInt(e -> (int) e).filter(e -> e % 2 != 0).toArray();

或者更好的方法是尝试/捕获整个 block ?

最佳答案

为什么不过滤整数对象?

.filter(i -> i instanceof Integer).mapToInt(e -> (int) e)

关于java - 将对象数组映射到 Int 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42246603/

相关文章:

Java 8 流列表收集器内存分配速度与带有预分配的循环

java - 注释 Lambda 表达式的功能接口(interface)

java - 流分组By : reducing to first element of list

java - 当值为 Treemap 且 Treemap 中的数据增加到 10K 时,Ignite 缓存调用更新非常慢

java - Resteasy(多部分/表单数据): how to read multi value field values to List?

caching - 如何使用实例转发器缓存检测类?

Java LocalDate 不接受所有 EpochDay 字段有效值

java - GET Activity 和地点 - EntryPoint 中的面板

java - Spring Batch 作业实例已存在

java - Android 谷歌地图 v2 不显示指南针和位置图标