Guava是Google开源的一款工具类库,可以更方便的处理字符串、集合、文件、缓存等方面的功能,并且是面向函数式编程的方式,使用更方面,并且也相对更优雅,增加开发效率,在功能方面和apache-common差不多

Splitter类简介

和Joinner对字符串拼接相同,Splitter可以方便的实现字符串的切割操作,更快的实现功能,并且也是通过工厂模式来创建对象,链式调用

  • 分割字符串

    public void testSplitOnSplit() {List<String> list =         Splitter.on("|").splitToList("Hello|Guava");assertThat(list, notNullValue());assertThat(list.size(), equalTo(2));assertThat(list.get(0), equalTo("Hello"));assertThat(list.get(1), equalTo("Guava"));
    }
    

    对字符串分割之后,返回集合,并且还有多个辅助方法,可以去除Null

    withKeyValueSeparator可以用来分割key-value类型的值

  • 过滤Null值

    public void testSplitOnSplitWithNull() {List<String> list = Splitter.on("|").omitEmptyStrings().splitToList("Hello|Guava|||");assertThat(list, notNullValue());assertThat(list.size(), equalTo(2));assertThat(list.get(0), equalTo("Hello"));assertThat(list.get(1), equalTo("Guava"));
    }
    

    omitEmptyStrings可以将字符串中的空值进行过滤

  • 去除空格并过滤Null

    public void testSplitOnSplitWithNullAndBlank() {List<String> list = Splitter.on("|").omitEmptyStrings().trimResults().splitToList("Hello  |  Guava|||");assertThat(list, notNullValue());assertThat(list.size(), equalTo(2));assertThat(list.get(0), equalTo("Hello"));assertThat(list.get(1), equalTo("Guava"));
    }
    

    omitEmptyStrings表示过滤空字符串

    trimResults对切割的每个字符串进行空格的去除(无论是多个空格还是一个空格)

  • StopWatch使用

    如果需要统计方法的执行耗时,一般可以通过System.currentTimeMillis()在方法执行开始之前和执行之后进行计算,但是计算出来的毫秒并没有时间单位,还需要手动转换计算,Guava中提供了方便的StopWatch可以实现计时操作

    public void testStopWatch() throws InterruptedException {System.out.println("start");Stopwatch started = Stopwatch.createStarted();TimeUnit.SECONDS.sleep(1);// StopWatch实现原理也非常简单,并且可以通过reset方法重复使用,并且重写了toString,可以将打印的时间转换为指定的单位System.out.printf("end, use time: %s", started.stop());
    }
    

    StopWatch重写了toString方法,自动做了单位的实现转换,可以直接查看当前的耗时的时间

Guava-Splitter工具类相关推荐

  1. Guava常用工具类的使用

    导航 引言 一.Lists.partition 引言 本文用于记录工作中常用到的 Guava 工具类的使用. 依赖引入: <dependency><groupId>com.go ...

  2. Guava Lists工具类

    文章目录 01 概述 02 Lists工具类 03 文末 01 概述 Guava 是 Google 开源的一个 Java 工具库,里面有很多工具类,本文要讲的是里面的Lists工具类. 注意,使用Gu ...

  3. Google Guava常用工具类入门使用介绍及样例说明

    一 概述 工具类将经常用的一些方法进行了封装,遇到相同的场景时不需要重复造轮子,从而大量节省开发人员时间和提高工作效率,Guava就是谷歌发布的高效率的方法的工具包.Guava的优势: API的设计高 ...

  4. Google Guava学习笔记——基础工具类Joiner的使用

    Guava 中有一些基础的工具类,如下所列: 1,Joiner 类:根据给定的分隔符把字符串连接到一起.MapJoiner 执行相同的操作,但是针对 Map 的 key 和 value. 2,Spli ...

  5. Guava中基础工具类Joiner的使用字符串拼接方法 joiner.on

    Guava 中有一些基础的工具类,如下所列: 1,Joiner 类:根据给定的分隔符把字符串连接到一起.MapJoiner 执行相同的操作,但是针对 Map 的 key 和 value. 2,Spli ...

  6. java工具谷歌工具-Google guava工具类的介绍和使用

    工具类 就是封装平常用的方法,不需要你重复造轮子,节省开发人员时间,提高工作效率.谷歌作为大公司,当然会从日常的工作中提取中很多高效率的方法出来.所以就诞生了guava. guava的优点: 高效设计 ...

  7. Java Guava工具类的使用

    Guava工具类简介 在开发中,工具类的使用避免上重复造轮子,极大的节省了开发时间,提高了工作效率,Google公司提供的Guava工具类,高效设计良好的API,遵循高效的java语法,使代码更加简洁 ...

  8. Guava工具类真心好用,无须重复轮子!

    文章来源:https://c1n.cn/gST6P 目录 Google Guava 概述 不可变集合与对象 Guava 新集合类型 JDK 集合辅助工具类 JDK 基本类型辅助工具类 JDK 字符串辅 ...

  9. [Google Guava] 2.4-集合扩展工具类

    原文链接 译文链接 译者:沈义扬,校对:丁一 简介 有时候你需要实现自己的集合扩展.也许你想要在元素被添加到列表时增加特定的行为,或者你想实现一个Iterable,其底层实际上是遍历数据库查询的结果集 ...

  10. [Google Guava] 2.3-强大的集合工具类:java.util.Collections中未包含的集合工具

    原文链接 译文链接 译者:沈义扬,校对:丁一 尚未完成: Queues, Tables工具类 任何对JDK集合框架有经验的程序员都熟悉和喜欢java.util.Collections包含的工具方法.G ...

最新文章

  1. 原文件内容更新及备份,特殊标量$^I和@ARGV学习笔记
  2. java刚工作搭建环境_Java开发环境的搭建
  3. ubuntu16.04 安装jdk
  4. LeetCode 444. 序列重建(拓扑排序)
  5. 2022年中国物联网行业研究报告
  6. 不同内存区域的功能和特点
  7. 自学python免费教材-Python 有哪些入门学习方法和值得推荐的经典教材?
  8. 第十八次ScrumMeeting博客
  9. 阿里云:我们为全面服务政企市场做好了准备!
  10. AllWinner T113 升级篇
  11. 贝叶斯网络分析kaggle泰坦尼克号数据
  12. 解决微信端苹果手机无法跳转页面的问题
  13. Error: unconverted data remains: AM 解决方法
  14. linux apple开发环境,Linux上构筑iPhone OS3.1.2开发环境 实例操作
  15. 前言 金融大叔的梦想
  16. 【Go】Go语言基本数据类型
  17. CDN里面的一些名词你知道是什么意思吗?
  18. 学术期刊的概念、分类,计算机类主要期刊索引和机构
  19. 语音信号线性预测分析(MATLAB实战篇)
  20. c语言字符串中的字符无效,字符串操作

热门文章

  1. 推荐10个易上手好用的H5网页编辑工具
  2. 计算机无线键盘没反应,电脑怎么连接无线键盘 电脑连接无线键盘没反应怎么办...
  3. Java快速入门笔记-02 Java基础(基本数据类型、变量和常量、运算符、数组、字符串)
  4. 高远球技术(羽毛球)
  5. 求圆外一点做圆切线的切点坐标(算法)
  6. CenterNet: Keypoint Triplets for Object Detectiontection学习笔记
  7. pytorch:自定义损失函数total variation loss
  8. 数字电路34( 计数器—二进制加计数器)
  9. 【友盟+】于晓航:大数据“格物致知”
  10. Halcon:计算两条曲线的相关性(皮尔森系数)