不要再用if(xxx != null)或者try catch NullPointerException了,Optional可以帮你解决

public static void testIfPresent() {
    Map<String, Map<String, String>> map = new HashMap<>();

    String firstKey = "hjz", secondKey = "lxk";

    Map<String, String> childMap = new HashMap<>();
    childMap.put("lxk", "sbj");

    map.put("hjz", childMap);

    ifPresent(map, firstKey, secondKey, System.out::print);
}

public static void ifPresent(Map<String, Map<String, String>> map, String firstKey, String secondKey, Consumer<String> consumer) {
    ofNullable(map.get(firstKey)).ifPresent(childMap -> ofNullable(childMap.get(secondKey)).ifPresent(consumer));
}
posted @ 2017-12-18 16:56  胡峻峥  阅读(...)  评论(...编辑  收藏