📅  最后修改于: 2023-12-03 15:16:23.555000             🧑  作者: Mango
在Java 8中,引入了Stream API,其中包含了IntStream mapToLong()方法,通过它可以将IntStream转换为LongStream,进而对流中的元素进行操作。下面就对该方法进行详细介绍。
LongStream mapToLong(LongToIntFunction mapper)
该方法的参数是一个LongToIntFunction函数式接口,它需要返回一个long类型的值。该函数将流中的每个int类型的元素进行操作,并将其转换为long类型的元素,返回一个新的LongStream对象。
以下代码演示了如何使用IntStream mapToLong()方法将int类型的元素转换为long类型的元素,并计算它们的平方和。
import java.util.stream.IntStream;
public class MapToLongDemo {
public static void main(String[] args) {
int[] arr = {1, 2, 3, 4, 5};
long sumOfSquares = IntStream.of(arr)
.mapToLong(num -> num * num)
.sum();
System.out.println("平方和为:" + sumOfSquares);
}
}
上述代码首先使用IntStream.of()
方法创建IntStream对象,然后使用mapToLong()
方法将int类型的元素转换为long类型的元素,并计算它们的平方和。最后使用sum()
方法对结果求和。
输出:平方和为:55
IntStream mapToLong()方法是Stream API的一部分,可以将int类型的流转换为long类型的流,并对其中的元素进行操作。通过该方法,可以优雅地简化代码,提升代码的可读性和可维护性。