如何在Lambda中使用IntStream和Java中的方法引用?

一个IntStream 接口扩展了BaseStream 接口的Java 8。它是原始整数值元素的序列,以及用于处理整数值的专用流。我们还可以使用IntStream 接口在lambda表达式 方法 引用中迭代集合的元素。 

语法

public interface IntStream extends BaseStream<Integer, IntStream>

示例1

import java.util.stream.IntStream;

public class StringToIntegerStreamTest {
   public static void main(String[] args) {
      String str = "nhooo.com";
      IntStream stream = str.chars();
      stream.forEach(element -> System.out.println(((char)element))); // using lambda expression   }
}

输出结果

T
u
t
o
r
i
a
l
s

P
o
i
n
t


示例2

import java.util.*;
import java.util.stream.IntStream;

public class IntStreamTest {
   public static void main(String[] args) {
      final List<Integer> list = Arrays.asList(1, 2, 3);
      list.stream().forEach(System.out::println);  // Using method reference      final IntStream intStream = IntStream.iterate(1, i -> i + 1); 
      final int sum = intStream.limit(100).sum();
      System.out.println("sum: " + sum);
   }
}

输出结果

1
2
3
sum: 5050