2014-12-05 38 views

回答

4

您可以嵌套另一個可選:

Optional.of(
    Optional.ofNullable(input).orElse("") 
).map(String::trim); 

這相當於

Optional.of(
    Optional.ofNullable(input).orElse("").trim() 
); 

因此,如果您繼續執行更多的處理步驟,而這些處理步驟本身不會導致任何價值,那麼這樣做的好處是。

+1

我寧願'Optional.of(Optional.ofNullable(輸入).MAP(字符串:: TRIM).orElse( 「」))',因爲在調用'一個空'String' trim'沒有任何意義。也許整個包裝成另一種'一旦瞭解... – Holger 2014-12-05 16:04:15

+1

調用'TRIM()'上一個空字符串Optional'變得過時是非常便宜,有一個很好的機會,'地圖(字符串::修剪)'方法實際上是更貴。對於其他情況可能會有所不同。 – 2014-12-05 21:02:18

+2

只是拋出另一種選擇(嘿)到樁:'Optional.ofNullable(輸入).MAP(可選::).orElse(Optional.of( 「」))' – Misha 2014-12-06 07:53:30