Given the code fragment:

What is the result?

A.

1John2null

B.

12

C. A NullPointerException is thrown at run time.
D. A compilation error occurs.

題解

iStr所參考到的串流物件中的元素為字串型態的List物件,無法直接轉換成整數型態的List物件。若修改成以下程式,可以成功編譯:

以上程式雖然可以成功編譯,但執行時會拋出NumberFormatException,因為「John」字串不能轉成整數。

如果要能成功執行,不應使用flatMapToInt方法,應改寫程式如下:

改寫之後程式會輸出:

12