//方法一 get!=null仍不斷跑進orElse造成資料庫重複資料初始化
DialogSetting entity =
Optional.ofNullable(dialogSettingDao.get(platformId))
.orElse(initAndSaveEntity(platformId));
//方法二 運行正常不會進入到orElseGet
DialogSetting entity =
Optional.ofNullable(dialogSettingDao.get(platformId)).orElseGet(() -> {
DialogSetting temp = initAndSaveEntity(platformId);
return temp;
});
**
照理說這兩段代碼應該是一樣的
資料庫取出也不爲null
但第一種寫法卻不斷跑進 orElse
即使我用debug或直接印出確認爲false仍跑進Else
DialogSetting tmp=dialogSettingDao.get(platformId);
System.out.println(new Boolean(tmp==null).toStirng);//false
再麻煩各位高手了,不知道是踩了個什麼坑