Use of bounded predicates
本问题已经有最佳答案,请猛点这里访问。
我想知道这段代码为什么还要编译。因为这里我们有一个
1 2 | Predicate<? super String> predicate = s -> s.length() > 3; Stream.of("cat","bat","rat","doggy").filter(predicate).forEach(System.out::println); |
有人能描述一种情况,我们必须需要这些类型的有界类型谓词吗?
因为
在那之后,用
1 2 3 4 5 6 7 8 | List<String> list = new ArrayList<>(); list.add("cat"); list.add("bat"); list.add("rat"); list.add("doggy"); List list2 = list; list2.add(1); |
然后
1 | list.stream().filter(predicate).forEach(System.out::println); |
号
当它到达整数时,将在运行时抛出一个
对于您想使用