Tech&WK_SRDC_Project_Think

purpose : techRoad 过程中的点滴思考



2020-07-04

idom 

  1. Optional lambda 处理, 及相关的 API publish ( <java in action 2>  P253)
  2. Optional 封装 try - catch , 封装的额OptionalUtility   将 String 转换为 Optional<Integer>  (<J I A > p260 )
 1 package techRoad.java.Optional;
 2 
 3 import java.util.Optional;
 4 
 5 public class OptionalUtility {
 6 
 7     public static Optional<Integer> stringToInt(String originalStr){       
 8         try{
 9             return Optional.of(Integer.parseInt(originalStr));
10         }catch (NumberFormatException ex){
11             return Optional.empty();
12         }
13     }
14 }
    public int readDuration(Properties props, String s) {

            return Optional.ofNullable(props.getProperty(s))
                    .flatMap(OptionalUtility::stringToInt)
                    .filter(i -> i > 0)
                    .orElse(0);
    }

 

posted @ 2020-07-04 17:55  君子之行  阅读(5)  评论(0)    收藏  举报