Given the code fragment:



Which code fragment must be inserted at line n1 to enable the code to print the maximum number in the nums list?

A.

B.

C.

D.

題解

串流物件的max方法可以取得串流元素中的最大值,需要提供Comparator物件作為比較數值大小的依據。

選項A,使用Comparator類別的comparing方法來直接指定要使用元素的哪個值來當作比較大小的依據。

選項B,Comparator是使用0為基準,依靠大於0、小於0、等於0的判斷來表示兩數的大小。Integer的Max方法,會比較傳入的兩個參數,回傳較大的那個,並不是我們要的方法。應該要改成使用compare方法才正確,如下:

選項C,max方法的用法錯誤。

選項D,map方法是用來快速替換元素的內容,而使用「a -> a」替換後的元素就是之前的元素。在這裡若要正確使用max方法,可改寫如下: