差異處

這裏顯示兩個版本的差異處。

連向這個比對檢視

Both sides previous revision 前次修改
下次修改
前次修改
下次修改 Both sides next revision
java:effective_java:lambdas_and_streams:prefer_collection_to_stream_as_a_return_type [2019/11/01 00:07]
tony
java:effective_java:lambdas_and_streams:prefer_collection_to_stream_as_a_return_type [2019/11/01 00:20]
tony
行 12: 行 12:
  return stream::​iterator;​  return stream::​iterator;​
 } }
 +
 +for (ProcessHandle p : iterableOf(ProcessHandle.allProcesses())) {
 +// Process the process
 +}
 +
 public static <E> Stream<​E>​ streamOf(Iterable<​E>​ iterable) { public static <E> Stream<​E>​ streamOf(Iterable<​E>​ iterable) {
  return StreamSupport.stream(iterable.spliterator(),​ false);  return StreamSupport.stream(iterable.spliterator(),​ false);
 } }
 </​code>​ </​code>​
-在書中這裡也討論到使用Files.lines會忽略讀取時所有的例外,如果要使用這種寫法,你就必須接受這個問題。\\ 
 \\ \\
 回到method介面的設計。Collection interface除了是Iterable的sub-type外,也提供了轉stream的method。因此,如果你確定client就是要使用stream的方式,那就回傳stream;如果你無法確定,而且你是要開發通用的API,請考慮Collection或是其衍伸類別/​介面。\\ 回到method介面的設計。Collection interface除了是Iterable的sub-type外,也提供了轉stream的method。因此,如果你確定client就是要使用stream的方式,那就回傳stream;如果你無法確定,而且你是要開發通用的API,請考慮Collection或是其衍伸類別/​介面。\\