獲取optional物件
轉換optional值
過濾值除了轉換值之外,optional也提供了過濾值的方法filter(),filter() 接受乙個 predicate 引數,如果測試結果為true,返回測試結果為 true 對應的值。如果測試結果為 false,會返回乙個空的 optional。
optional student=optional.ofnullable(stu2).filter(s->s.getsname()!=null && s.getsname().contains(「s」));
if (student.ispresent())
此時列印出來的結果中存在物件student的值,若contains(「s」))改為contains(「a」)),則此時控制台列印的為空值
看了這麼多現在可以對刪除null檢查(狀態下的非空校驗),替換為optional方法了
public void show(student student)}}
}}
public void showafter()
public void showafter()
備註:將呼叫的flatmap方法改為map方法也可以,使用flatmap方法需要你自己去封裝返回值為optionalprivate address address;
public optionalgetposition()
所以同樣country屬性也進行了如下修改
private country country;
public optionalgetcountry()
因此我在**中引用了flatmap()方法,具體關於flatmap與map方法的區別,我在下文會繼續講解 JDK8新特性筆記(二) Optional
例子 public class optionaldemo01 else 執行結果 ps2optional chapter1.optional demo.person 12a3a380 optinal物件不為空 chapter1.optional demo.person 12a3a380 0 null...
JDK8新特性之使用Optional避免空指標異常
1 使用optional.of 或optional.ofnullable 來建立optional物件。optional.of 不允許引數為null,optional.ofnullable 允許引數為null。optional optional1 optional.of aaa optional op...
JDK8的新特性
這兩天開始看jdk8的新特性,先看了lembda表示式和stream,就乙個感覺,優雅。趕緊將這兩天的成果總結一下 lembda表示式是乙個簡潔 可傳遞的匿名函式,實現了把 塊賦值給乙個變數的功能 格式就是 parameters expression,需要注意的是 引數可以為空 引數為乙個值得時候,...