请教一个 Java Stream 中代码命名的问题

2022-09-23 18:03:33 +08:00
 dumbbell5kg

最近在看 Stream 的代码,有些命名不理解: 比如 SortedOps 类中

final class SortedOps {

    private SortedOps() { }
    
  	1.//这里应该是 make reference
    static <T> Stream<T> makeRef(AbstractPipeline<?, T, ?> upstream) {
        return new OfRef<>(upstream);
    }
    
    2.//这里是 make int reference
    static <T> IntStream makeInt(AbstractPipeline<?, Integer, ?> upstream) {
        return new OfInt(upstream);
    }
    
    3.//这里的子类为什么要叫 OfRef 呀?
    private static final class OfRef<T> extends ReferencePipeline.StatefulOp<T, T> {}
     
    4.//这里为什么要叫 OfInt ?
    private static final class OfInt extends IntPipeline.StatefulOp<Integer> {}
 }
1078 次点击
所在节点    程序员
2 条回复
xaplux
2022-09-24 10:25:44 +08:00
我理解这里的 Of 有组成的意思吧,比如 List.of(1,2,3),代码这个 list 是由 1,2,3 组成的
dumbbell5kg
2022-09-25 10:23:51 +08:00
@xaplux 这么想就好理解多了,感谢

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/882474

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX