由於Java不支援基本型別的char流,因此在執行下面這樣的程式碼時,會出現問題
public static void main(String[] args) { "Hello World".chars().forEach(System.out::println); // 預期列印 Hello World // 實際列印 一串數字 }
chars()返回的流是int值不是char值。
因此我們應該避免使用流來處理char值。
推薦使用流的場景:
- 對元素的序列進行統一轉換
- 對元素的序列進行過濾
- 使用單個操作將多個元素序列合併起來(相加、連線、計算最小值等)
- 將元素序列累加到一個集合中,也許是根據某個共同的屬性來分組
- 在一個元素序列中查詢滿足某個條件的元素