为 return 流式传输的 java 方法命名
Naming java methods that return streams
return流的方法有命名约定吗?
我发现的唯一提及是 answer on S.O(最后一段),但我看不出它基于什么。
自从我写下那段话后,我就觉得有必要回答一下。 :-)
假设您有一个 class 表示单一类型事物的聚合,并且您想要 return 其中的 Stream
给调用者。
如果您 return 的内容完全明确,您不妨调用方法 stream()
。 JDK中有很多方法名为stream()
,return一个明显类型的流。
有时您 return 是同一事物或不同种类事物或其他事物的不同表示。在那种情况下,似乎确实有一种约定,即选择一个复数名词来表示流中 returned 的事物类型。
要查看这些,请查看 Javadoc 并单击顶部导航栏中的 使用 link。这会将您带到交叉引用页面。查找具有您感兴趣的类型的 return 值的所有方法。
例如,请参阅 Stream
, IntStream
, LongStream
, and DoubleStream
的 使用 页面。 return 流中有许多名为 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 文件实用程序 class 具有 Files.find()
、Files.list()
和 Files.walk()
。拆分字符串的结果流由 java.util.regex.Pattern.splitAsStream
编辑 return。我认为没有人喜欢 AsStream
后缀,但话又说回来,没有人能想到更好的东西。另一方面,为获得正则表达式匹配结果流而提议的 JDK 9 增强功能将被命名为 Matcher.results()
.
return流的方法有命名约定吗? 我发现的唯一提及是 answer on S.O(最后一段),但我看不出它基于什么。
自从我写下那段话后,我就觉得有必要回答一下。 :-)
假设您有一个 class 表示单一类型事物的聚合,并且您想要 return 其中的 Stream
给调用者。
如果您 return 的内容完全明确,您不妨调用方法 stream()
。 JDK中有很多方法名为stream()
,return一个明显类型的流。
有时您 return 是同一事物或不同种类事物或其他事物的不同表示。在那种情况下,似乎确实有一种约定,即选择一个复数名词来表示流中 returned 的事物类型。
要查看这些,请查看 Javadoc 并单击顶部导航栏中的 使用 link。这会将您带到交叉引用页面。查找具有您感兴趣的类型的 return 值的所有方法。
例如,请参阅 Stream
, IntStream
, LongStream
, and DoubleStream
的 使用 页面。 return 流中有许多名为 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 文件实用程序 class 具有 Files.find()
、Files.list()
和 Files.walk()
。拆分字符串的结果流由 java.util.regex.Pattern.splitAsStream
编辑 return。我认为没有人喜欢 AsStream
后缀,但话又说回来,没有人能想到更好的东西。另一方面,为获得正则表达式匹配结果流而提议的 JDK 9 增强功能将被命名为 Matcher.results()
.