当前位置: 首页 > 知识库问答 >
问题:

命名返回流的java方法

云开诚
2023-03-14

返回 Stream 的方法是否有命名约定?我发现的唯一提及是在S.O(最后一段)上的答案,但我不明白它基于什么。

共有1个答案

解晟睿
2023-03-14

因为我写了那一段,我觉得必须回答。:-)

假设您有一个表示单一类型事物集合的类,并且您想将它们的< code >流返回给调用者。

如果您返回的内容完全不含糊,那么您可以调用方法<code>stream()。JDK中有许多名为<code>stream()

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

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

例如,请参阅StreamIntStreamLongStreamDoubleStream的使用页面。有很多名为stream()的方法可以返回流。但也有:

    < Li > < code > Java . io . buffered reader . lines() < Li > < code > Java . lang . char sequence . chars() < Li > < code > Java . lang . char sequence . code points() < Li > < code > Java . nio . char buffer . chars() < Li > < code > Java . nio . file . file . lines() < Li > < code > Java . util . random . ints() < Li > < code > Java . util . random . longs() < Li > < code > Java . util . random . double() < Li > < code > Java . util . splittablerandom . ints() < Li > < code > Java . util . splittablerandom . longs() < Li > < code > Java . util . splittablerandom . doubles() < Li > < code > Java . util . concurrent . threadlocalrrandom . ints() < Li > < code > Java . util . concurrent . threadlocalrrandom . longs() < Li > < code > Java . util . concurrent . threadlocalrrandom . doubles()

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

 类似资料:
  • 问题内容: 我喜欢用其他语言在方法/函数名称的末尾使用问号。Java不允许我这样做。作为一种解决方法,我还能如何用Java命名布尔返回方法?使用,,,在好一些情况下,方法声音的前端。是否有更好的方法来命名此类方法? 例如,createFreshSnapshot? 问题答案: 惯例是用名字问一个问题。 以下是在JDK中可以找到的一些示例: 这样,名称的读取方式就像它们的末尾带有问号一样。 收藏集是否

  • 问题内容: 我有一类这样的方法: 我如何在另一个类中调用此方法? 问题答案: 1. 如果要从中调用该方法的类位于同一包中,则创建该类的实例并调用该方法。 2. 使用 3. 最好有个赞等等。 例如:

  • 本文向大家介绍c++命名的返回值省略,包括了c++命名的返回值省略的使用技巧和注意事项,需要的朋友参考一下 示例 如果从函数返回左值表达式,则此左值: 表示该函数局部的自动变量,将在 return 自动变量不是函数参数 并且变量的类型与函数的返回类型相同 如果所有这些都成立,那么可以取消从左值的复制/移动: 更复杂的情况适合进行省略,但情况越复杂,编译器实际淘汰它的可能性就越小: 编译器仍然可以忽

  • 函数接受参数。在 Go 中,函数可以返回多个“结果参数”,而不仅仅是一个值。它们可以像变量那样命名和使用。 如果命名了返回值参数,一个没有参数的return语句,会将当前的值作为返回值返回。注意,如果遇到if等代码块和返回值同名,还需要显示写出返回值。 package main import "fmt" func split(sum int) (x, y int) { x = sum *

  • 延迟函数可以读取并分配给返回函数的命名返回值。 我想程序员的意图是返回1作为结果,并想知道为什么它被重写,以及后面的设计决策是什么。

  • 我有这样的代码: 有什么想法吗?