zoukankan      html  css  js  c++  java
  • Appium+selenium代码阅读笔记-判空写法-Optional

    1. debug appium的代码,看到了判空写法,比较有趣,记录一下。

    2.妈个鸡我真是源码黑洞。

    在看appium的源码,打断点追踪,想看看appium的元素定位到底怎么写的。画调用图的时候头炸开。

    里面把java操作输出成js的命令是这样的,这个类是selenium的JsonOutput类,本来以为stream我已经用的很熟了,直到我看到了.map(Map.Entry::getValue),我裂开。

      public JsonOutput write(Object input, int depthRemaining) {
        converters.entrySet().stream()
            .filter(entry -> entry.getKey().test(input == null ? null : input.getClass()))
            .findFirst()
            .map(Map.Entry::getValue)
            .orElseThrow(() -> new JsonException("Unable to write " + input))
            .consume(input, depthRemaining);
    
        return this;
      }
    

     

    开始补课Optional部分。

    补课中... 

    3.用了很多guava包的方法,没接触过,mark下,待补课。

    https://guava.dev/releases/18.0/api/docs/com/google/common/reflect/package-summary.html

     4.ServiceLoader.load();

    5.ImmutableSet的static add()和static build()是做什么的?

     6.HashMap.getOrDefault()

  • 相关阅读:
    lombok介绍
    idea 离线安装 lombok插件
    Java中Lambda表达式的使用
    接口里的default,static方法
    Maven多环境配置实战 filter
    redis lua脚本学习
    redis的安装
    jdbc插入或查询数据库时间总是比实际时间少8小时原因
    [设计模式]单件模式
    [设计模式]命令模式
  • 原文地址:https://www.cnblogs.com/zhizhiyin/p/14060076.html
Copyright © 2011-2022 走看看