public static void main(String[] args) { String name="kerry"; // common way if (name!=null&&name.length()!=0){ System.out.println(name.length()); } //use optional way System.out.println(Optional.ofNullable(name).orElse("").length()); } }
第二个场景:遍历list对象
public static void listIterator(List list){ // common way if (list!=null&&list.size()!=0){ for (Integer tmp:list) { System.out.println(tmp); } } //use optional way Optional.ofNullable(list).orElse(new ArrayList<>()) .forEach(tmp->{ System.out.println(tmp); }); }
第三个场景:
public User getUser(User user) throws Exception{ if(user!=null){ String name = user.getName(); if("zhangsan".equals(name)){ return user; } }else{ user = new User(); user.setName("zhangsan"); return user; } return null; }
public User getUser(User user) { return Optional.ofNullable(user) .filter(u->"zhangsan".equals(u.getName())) .orElseGet(()-> { User user1 = new User(); user1.setName("zhangsan"); return user1; }); }