Guava库之字符串操作

Guava是google推出的一个类库,包含了很多个模块,今天先学习一下其中字符串处理相关的工具类。
通过Maven将Guava的jar包获取到本地,同时获取到其源码和doc文档,将doc文档解压打开后对该类库有一个大概的了解。
字符串相关的处理基本都在com.google.common.base包下,而其中与字符串处理相关的类包含如下几个:
这里写图片描述

Strings

Strings类提供了一些静态方法,用于进行一些日常遇到的字符串处理工作,其参数为CharSequence或者String类型。
其中CharSequence是一个interface,该接口对字符序列提供了统一的、只读的读取;该接口没有重新定义Object的equals和hashCode方法,因此该接口的实现对象可以按需实现自己的这两个方法。
String,StringBuilder,StringBuffer都实现了该接口。
Strings类中提供了如下的方法:
这里写图片描述
其中最后一个方法是非public方法,其他的public方法可以分为以下四类:
①null,empty的处理:
nullToEmpty:若为null,则返回空串;否则返回原字符串;
emptyToNull:若为null或”“,则返回null;否则返回原字符串;
isNullOrEmpty:是否为null或”“;
②字符串补齐的处理
padStart:在字符串前append提供的字符,以达到指定长度;
padEnd:在字符串后append提供的字符,以达到指定长度;
③重复方式构造新字符串:
repeat:将给定字符串重复给定次数后返回新串;
④判断是否有相同前缀,相同后缀:
commonPrefix:返回两个CharSequence最长的共同的前缀;
commonSuffix:返回两个CharSequence最长的共同的后缀;

查看源码的时候有一些需要关注和学习的地方:
①如下是repeat方法中的一段,这一段的目的在于判断将String重复n次之后,是否超长了。而其方法则是先将int向上转型为long,后将long向下转型为int,再判断二者是否相等。这样,如果在超长的情况下,将出现截断;

    final int len = string.length();
    
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值