當我按預期運行下面的代碼片段,我得到Optional.empty差異8
//Example 1
Double dbNull = null;
Optional nullableOptional = Optional.ofNullable(dbNull);
System.out.println(nullableOptional);
但是當我運行下面的代碼片段,
//Example 2
Double doubleNull = null;
Optional nullableOptional1 = Optional.ofNullable(1/doubleNull);
System.out.println(nullableOptional1);
我得到了。
Exception in thread "main" java.lang.NullPointerException
at com.main.java8.streams.CreatingOptionalValuesDemo.main(CreatingOptionalValuesDemo.java:30)
我期待着它會爲第二個例子返回一個Optional.empty。任何人都可以解釋我爲什麼這樣表現。
有**什麼**做選配:https://docs.oracle.com/javase/tutorial/ java/data/autoboxing.html – luk2302
除此之外:通過省略參數來使用原始類型。永遠不要這樣做。首先關注基礎知識。並且支付異常消息的更多細節。他們會告訴你真正發生問題的地方。 – GhostCat