返回流的方法是否存在命名約定? 我唯一發現的是answer on S.O(最後一段),但我不明白它是基於什麼。返回流的命名java方法
回答
因爲我寫了那段話,我覺得有必要回答。 :-)
假設您有一個類表示單一類型事物的聚集,並且您想將它們的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()
。
一如既往的啓發。謝謝。 – Vitaliy 2015-03-02 18:40:15
- 1. 的Java註解 - 方法的返回類型命名空間
- 2. Java,返回方法
- 3. Java:方法返回
- 4. 命名Java庫的方法?
- 5. Java的String返回方法不返回
- 6. java方法的返回值
- 7. 方法getModule返回已命名模塊中的類的未命名模塊
- 8. 返回元素集合的Java方法的正確命名約定是什麼?
- 9. 來自http方法的返回流
- 10. Java方法調用返回
- 11. Java:方法不返回。 (XComponent.dispose
- 12. Java方法返回null
- 13. java返回String []方法
- 14. Java:方法返回問題
- 15. 爲負值返回0的方法的命名
- 16. 無法返回方法java內的值
- 17. 命名空間流星方法打包
- 18. 命名方法具有不同的返回類型,但
- 19. 返回列表方法中的複數/單數命名
- 20. 命名返回屬性值的私有方法
- 21. Kotlin-布爾返回方法的命名約定
- 22. 命名一個返回布爾值的方法的正確方法是什麼?
- 23. 重命名返回的JSON
- 24. 返回兩組交集的不同簽名的方法(Java)
- 25. Java的布爾方法的返回
- 26. 無法返回對象方法名稱
- 27. Java:返回超類方法簽名中的子類
- 28. 返回類型的Java Inherance方法
- 29. 返回可達對象的Java方法
- 30. Java對象的getClass()方法返回null
它基於現有代碼中已經很明顯的內容,即JRE本身和教程中的示例代碼。它可能還沒有任何風格指南,但如果斯圖爾特馬克斯認識到並推薦這種模式,它很快就會成爲一種常見模式。順便說一句,我獨立地得出了相同的結論,所以它真的是一種可識別的模式。 – Holger 2015-03-02 08:46:18