网站大量收购独家精品文档,联系QQ:2885784924

GUAVA的使用.doc

  1. 1、本文档共16页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
GUAVA的使用

GUAVA的使用 1 字符串处理 1.1 分割(Splitter) JDK内建的字符串拆分工具(split)有一些古怪的特性,绝对不要用。比如,它会悄悄丢弃了尾部的分隔符。 Splitter强大安全而且是链式编程。 比如,要分割如下字符串:alex,,45, tianshan road.,201301 l 一般用法 Splitter.on(,) .trimResults() //移除结果字符串的前导空白和尾部空白 .omitEmptyStrings() //从结果中自动忽略空字符串 .limit(2) //限制拆分出的字符串数量 .split(alex,,45, tianshan road.,201301); 以上代码,看着就舒服,而且还不需要产生很多中间变量。 l 使用正则表达式来描述分隔符 Splitter.onPattern(\\s+) .split(1 \t 2 3); //结果为:[1, 2, 3] l 根据长度来拆分字符串 Splitter. fixedLength(3) .split(1 2 3); //结果为:[1 2, 3] 拆分器返回的是IterableString。 如果想直接返回List,只要使用Lists.newArrayList(splitter.split(string))或类似方法。 重点:splitter实例总是不可变的。 用来定义splitter目标语义的配置方法总会返回一个新的splitter实例。这使得splitter实例都是线程安全的,你可以将其定义为static final常量。(也就是说,可以把split函数之前的代码定义成一个全局静态变量,到处使用)。 1.2 连接(Joiner) l 一般用法 Joiner joiner = Joiner.on(delimiter).skipNulls(); String res = joiner.join(123, null, foo,bar); l appendTo到实现了Appendable接口的类中 Joiner joiner = Joiner.on(delimiter).skipNulls(); // 1:append到StringBuilder StringBuilder stringBuilder = new StringBuilder(); joiner.appendTo(stringBuilder, foo , bar ); // 2:append到输出流 FileWriter writer = new FileWriter(append_text.txt); joiner.appendTo(writer, foo , bar ); writer.close(); 1.3 字符匹配处理(CharMatcher) 它是一个简化版正则工具。 l 按照定义的匹配规则,对字符串进行替换、保留、移除等操作 String lettersAndNumbers = foo989yxbar234; String retained = CharMatcher.JAVA_DIGIT.retainFrom(lettersAndNumbers); //保留数字 String removed = CharMatcher.JAVA_DIGIT.removeFrom(lettersAndNumbers); //移除数字 //通过Or组合多个匹配规则,再进行操作 CharMatcher cm = CharMatcher.JAVA_DIGIT.or(CharMatcher.WHITESPACE); String retained = cm.retainFrom(foo9 89y xbar 234);//保留数字和空格 CharMatcher的用法总结: 1. 定义匹配字符的规则 2. 使用内置的函数对字符进行处理(移除、保留等) 各处理函数: ? collapseFrom:连续的匹配字符替换为特定字符。比如把多个空格替换成一个 ? removeFrom:移除所有匹配字符 ? retainFrom:保留匹配字符,移除其他字符 ? trimFrom:移除字符序列的前导匹配字符和尾部匹配字符。 ? replaceFrom:用特定字符序列替代匹配字符 ? matchesAllOf:测试是否字符序列中的所有字符都匹配 2 集合 2.1 不可变集合 不可变集合是不可被修改的集合。集合的数据项是在创建的时候提供,并且在整个生命周期中都不可改变。 不可变集合是极其有益

文档评论(0)

hhuiws1482 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:5024214302000003

1亿VIP精品文档

相关文档