fge*_*fge 7 java collections guava java-8
我使用Guava,特别是他们的不可变集合(ImmutableList,ImmutableSet).
但是Guava是为Java 6编译的.如果我使用Java 8,我可以使用.stream()它们吗?
fge*_*fge 12
是的你可以.
该.stream()方法在Collection接口中定义,具有默认实现.就此而言,.parallelStream()也是如此.spliterator().而且两者ListS和Sets"是不" Collection秒.
而且这还没有结束,因为你也可以用Map的.forEach()上番石榴的ImmutableMapS以及.Map确实有其他默认操作,但是他们改变了地图,而Guava的不可变集合/地图是...嗯......
需要注意的是更普遍,每一个接口的方法有一个默认的实现时,它会被在javadoc中提到的,由于方法的返回类型将与前面default的关键字.
一些样本,非常粗糙的代码可以使用它(以及lambdas中使用的单一抽象方法的概念,请参阅此处了解更多详细信息):
ImmutableSet.of(23, 2389, 19).stream().forEach(System.out::println);
Run Code Online (Sandbox Code Playgroud)
(System.out是a PrintStream,其.println()方法签名与a相同Consumer)
| 归档时间: |
|
| 查看次数: |
742 次 |
| 最近记录: |