8. 双冒号的用法¶
JDK 8 中有双冒号的用法,就是把方法当做参数传到 stream 内部,使 stream 的每个元素都传入到该方法里面执行一下。
关于 Stream 的相关笔记 点击前往
8.1. 示例1¶
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | package other.stream; import java.util.Arrays; import java.util.List; public class DoubleColon { public static void main(String[] args) { String[] names = { "eugene", "forest", "jackson" }; List<String> nameList = Arrays.asList(names); nameList.forEach(ele -> DoubleColon.showPersonInfo(ele)); // 输出一 nameList.forEach(DoubleColon::showPersonInfo); // 输出二 } public static void showPersonInfo(String info) { System.out.print(info); } } |
输出一和输出二均为:
eugene
forest
jackson
8.2. 示例2¶
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | package other.stream; import java.util.Random; public class DStream { public static void main(String[] args) { Random random = new Random(); random.ints().limit(10).forEach(System.out::println); // ints() : 返回一个有效的无限流的伪 int值。 // (stream.)limit(long maxSize) : 返回由该流的元素组成的流,截断后的长度不超过maxSize。 } } |
输出结果不确定,但是其结果一定是10个整数随机数。