作者热门文章
- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
我可以想到两种方法:
public static IntStream foo(List<Integer> list)
{
return list.stream().mapToInt(Integer::valueOf);
}
public static IntStream bar(List<Integer> list)
{
return list.stream().mapToInt(x -> x);
}
什么是惯用的方式?也许已经有一个库函数可以完全满足我的要求?
最佳答案
我猜(或者至少是另一种选择)这种方式性能更高:
public static IntStream baz(List<Integer> list)
{
return list.stream().mapToInt(Integer::intValue);
}
由于函数Integer::intValue
与 ToIntFunction
完全兼容因为它需要一个 Integer
并返回一个 int
。没有 autoboxing执行。
我也在寻找 Function::identity
的等价物,我希望写一个等价于你的 bar
方法:
public static IntStream qux(List<Integer> list)
{
return list.stream().mapToInt(IntFunction::identity);
}
但他们没有提供这个 identity
方法。不知道为什么。
关于java - 如何从 List<Integer> 中获取 IntStream?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24633913/
我是一名优秀的程序员,十分优秀!