Android开发-FSS开源框架之fss_common

介绍

fss_common提供了java8常用的接口,可选类型,kotlin元组,stream工具类,常用的工具函数等。
gitHub地址:https://github.com/gongbox/fss

功能

  • 可选变量(参考Java8可选变量)
  • java8常用接口 -用于高阶函数
  • 元组(参考kotlin元组)
  • common -通用工具类
  • stream -集合工具类

例子

  • 使用common工具类
//可以是数组或集合类型
String[] datas = new String[]{"1", "7", "2", "3"};
//将所有元素转为Integer类型
List<Integer> ints = common.map(datas, Integer::parseInt);
//过滤小于等于1的元素
ints = common.filter(ints, value -> value > 1);
//排序
common.sort(ints, Integer::compareTo);
  • 使用stream工具函数
Integer[] array = streamOf("1", "7", "2", "3")  //构造一个stream对象
                .add("4")                       //添加一个元素
                .addAll("5", "6")               //添加多个元素
                //注意使用了lambda表达式,不懂得同学自行百度
                .consume(datas -> System.out.println("------------------------------------------------------"))
                .forEach(System.out::println)   //遍历打印每个元素
                .map(Integer::parseInt)         //将所有元素转为Integer类型
                .consume(datas -> System.out.println("------------------------------------------------------"))
                .forEach(System.out::println)   //遍历打印每个元素
                .filter(value -> value > 1)     //过滤小于等于1的元素
                .consume(datas -> System.out.println("------------------------------------------------------"))
                .forEach(System.out::println)   //遍历打印每个元素
                .sort(Integer::compareTo)       //排序
                .consume(datas -> System.out.println("------------------------------------------------------"))
                .forEach(System.out::println)   //遍历打印每个元素
                .toArray(Integer.class);        //转化为Integer[]类型
  • 使用可选变量
        String value = null;
        //如果value不为空,就转化为整形,如果为空,则取0
        Integer result = Optional.ofNullable(value).map(Integer::new).orElse(0); 
      
        Integer value2 = 1;
        //如果value2不为空且大于0,就转化为字符串类型并打印,否则不做任何操作
        Optional.ofNullable(value2).filter(data -> data > 0).map(String::valueOf).ifPresent(System.out::println);

以上仅介绍了部分fss_common的部分使用例子,感兴趣的同学可以自己在了解。

更多FSS框架:

如果想要了解fss框架的具体使用,我为大家提供了demo工程