[英]Map Object Array to Int Array
我正在尝试将我的Object []数组映射并过滤到int []数组。 如果对象是int,则工作得很好,但如果没有,则抛出强制转换异常。 我想知道我是否能以某种方式在lambda表达式中附加try / catch? 这是我的代码:
b[i] = Arrays.stream(item).mapToInt(e -> (int) e).filter(e -> e % 2 != 0).toArray();
或更好的方法是尝试/捕获整块?
Wy不过滤整数对象?
.filter(i -> i instanceof Integer).mapToInt(e -> (int) e)
使用filter()
删除非数值,然后转换为Number
并调用intValue()
方法。
int[] ints = Arrays.stream(objects)
.filter(Number.class::isInstance)
.map(Number.class::cast)
.mapToInt(Number::intValue)
.toArray();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.