gpt4 book ai didi

java - 命名返回流的 java 方法

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:08:24 24 4
gpt4 key购买 nike

返回 Stream 的方法是否有命名约定?我发现的唯一提及是这个 answer on S.O (最后一段),但我看不出它基于什么。

最佳答案

既然我写了那段话,我就觉得有必要回答一下。 :-)

假设您有一个表示单一类型事物聚合的类,并且您想要将它们的 Stream 返回给调用者。

如果您返回的内容完全明确,您也可以调用方法 stream()。 JDK 中有很多名为 stream() 的方法返回明显类型的流。

有时您返回的是同一事物的不同表示,或不同种类的事物,或其他任何东西。在那种情况下,似乎确实有一种约定,即选择一个复数名词来表示流中返回的事物的类型。

要查看这些内容,请查看 Javadoc 并单击顶部导航栏中的使用 链接。这会将您带到交叉引用页面。查找具有您感兴趣的类型的返回值的所有方法。

例如,查看 Stream使用 页面, IntStream , LongStream , 和 DoubleStream .有许多名为 stream() 的方法返回流。但也有:

  • java.io.BufferedReader.lines()
  • java.lang.CharSequence.chars()
  • java.lang.CharSequence.codePoints()
  • java.nio.CharBuffer.chars()
  • java.nio.file.File.lines()
  • java.util.Random.ints()
  • java.util.Random.longs()
  • java.util.Random.doubles()
  • java.util.SplittableRandom.ints()
  • java.util.SplittableRandom.longs()
  • java.util.SplittableRandom.doubles()
  • java.util.concurrent.ThreadLocalRandom.ints()
  • java.util.concurrent.ThreadLocalRandom.longs()
  • java.util.concurrent.ThreadLocalRandom.doubles()

当然,还有很多方法不符合这个。 NIO 文件实用程序类有 Files.find()Files.list()Files.walk()java.util.regex.Pattern.splitAsStream 返回拆分字符串的结果流。我认为没有人喜欢 AsStream 后缀,但话又说回来,没有人能想到更好的东西。另一方面,为获得正则表达式匹配结果流而提议的 JDK 9 增强功能将被命名为 Matcher.results()。 .

关于java - 命名返回流的 java 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28805077/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com