本月初发布了新版本的Guava库,其中包含一些新功能和改进。

以下是此版本中一些重要的API新增功能的概述:

1.逃脱者

Escapers使您可以“转义”字符串中的特殊字符,以使字符串符合特定格式。 例如,在XML中,必须将<字符转换为&lt; 用于包含在XML元素中。 番石榴提供以下逃脱者:

  • HtmlEscapers
  • XmlEscapers
  • UrlEscapers

您也可以构建自己的Escaper 。 这是各种Escapers的例子:

// escaping HTML
HtmlEscapers.htmlEscaper().escape("echo foo > file &");
// [result] echo foo > file &// escaping XML attributes and content
XmlEscapers.xmlAttributeEscaper().escape("foo \"bar\"");
// [result] echo "bar"XmlEscapers.xmlContentEscaper().escape("foo \"bar\"");
// [result] foo "bar"// Custom Escaper
// escape single quote with another single quote
// and escape ampersand with backslash
Escaper myEscaper = Escapers.builder().addEscape('\'', "''").addEscape('&', "\&").build();

2. StandardSystemProperty

StandardSystemProperty是Java系统属性的枚举,例如java.versionjava.home等。关于此的很棒的事情是,您不再需要记住调用系统属性的原因,因为您只需使用枚举即可! 这是一个例子:

StandardSystemProperty.JAVA_VERSION.value();
// [result] 1.7.0_25StandardSystemProperty.JAVA_VERSION.key();
// [result] java.version

3.驱逐队列

EvictingQueue是一个无阻塞队列,当队列已满并且您尝试插入新元素时,它将从队列的开头删除元素。 例:

// create an EvictingQueue with a size of 3
EvictingQueue<String> q = EvictingQueue.create(3);
q.add("one");
q.add("two");
q.add("three");
q.add("four");
// the head of the queue is evicted after adding the fourth element
// queue contains: [two, three, four]

4. fileTreeTraverser

顾名思义, Files.fileTreeTraverser允许您遍历文件树。

FluentIterable<File> iterable = Files.fileTreeTraverser().breadthFirstTraversal(new File("/var/tmp"));
for (File f : iterable) {System.out.println(f.getAbsolutePath());
}

(注意:Java 7的Files.walkFileTree也遍历文件树,我在以前的一篇文章中向您展示了如何使用它: Java 7:通过遍历文件树来删除目录 。如果您使用Java,则建议您使用这种方法7)

番石榴15的完整发行说明可以在这里找到。

参考: Guava 15 –我们的JCG合作伙伴 Fahd Shariff在fahd.blog博客上的新功能 。

翻译自: https://www.javacodegeeks.com/2013/10/guava-15-new-features.html

番石榴15 –新功能相关推荐

  1. Java 版本任你发,我用Java8.(Java 15 新功能介绍 )

    Java 15 在 2020 年 9 月发布,虽然不是长久支持版本,但是也带来了 14 个新功能,这些新功能中有不少是十分实用的. Java 15 官方下载:Archived OpenJDK GA R ...

  2. iOS 15 新功能:即使手机关闭,也能找到丢失的iPhone

    Apple推出的新功能[查找]功能,可以让你即使在iPhone关机后,也能对它进行跟踪. 随着iOS 15的更新,苹果进一步优化了[查找我的]功能,此功能可以让你查找.定位.清除丢失的苹果设备. 但是 ...

  3. 天源财富:苹果iOS 15新功能曝光

    苹果昨日宣布,将在6月8日至12日举行WWDC21全球开发者大会,届时有可能会发布iOS 15.推特用户Connor Jewiss发文称,他已经提前看到了苹果iOS 15,并且曝光了新系统的几项功能更 ...

  4. Java基础学习总结(173)——Java 8到Java 15新功能总结

    函数式编程(Java 8) 在Java 8中,功能编程和lambda被添加为语言功能.函数式编程的两个核心范例是不变的值和将函数提升为一等公民的方法.数据经过一系列修改步骤,其中每个步骤都需要一些输入 ...

  5. JDK15已发布,快来看看有哪些值得期待的新功能!

    JDK 15 在 2020 年 9 月 15 号正式发布了,这次发布的主要功能有: JEP 339:EdDSA 数字签名算法 JEP 360:密封类(预览) JEP 371:隐藏类 JEP 372:删 ...

  6. Visual Studio 2017 15.6版本预览,增加新功能

    上周Visual Studio 2017 15.5 版本已正式发布,同时发布的还有 Visual Studio for Mac 7.3 . Visual Studio 2017 15.6 版本预览,这 ...

  7. 苹果iOS 15正式发布!一大波新功能上线,这几个被刷爆了

    北京时间6月8日凌晨,备受关注的WWDC2021终于,随之而来的,iOS 15也揭开了它的神秘面纱.功能一经公布,便引起了网友的热烈讨论. 拯救AirpodsPro,走失耳机有福了 蓝牙耳机虽好,丢三 ...

  8. jQuery 1.4版本的15个新功能(现在已经发布到jquery1.8,特别是增强版的live事件,支持 submit , change , focus 和 blur 事件)...

    1.jQuery()创建DOM元素:支持传参设置属性 之前,jQuery可以通过 attr 方法设置元素的属性,既可传属性的名和值,也可以是包含几组特定 属性名值对 的 对象.在 jQuery 1.4 ...

  9. 华为诉争“鸿蒙HongMeng”商标再被驳回;比尔盖茨夫妇正式离婚;iOS 15“查找”新功能,关机也能用|极客头条...

    「极客头条」-- 技术人员的新闻圈! CSDN 的读者朋友们早上好哇,「极客头条」来啦,快来看今天都有哪些值得我们技术人关注的重要新闻吧. 整理 | 孙胜 出品 | CSDN(ID:CSDNnews) ...

最新文章

  1. python list索引_Python按照索引访问list
  2. 聊聊我对开发项目选技术的看法
  3. 还没做2022年计划?这个超赞工具送给你
  4. 为什么美女不愿意过苦日子?
  5. Parameter ‘username‘ not found. Available parameters are [arg1, arg0, param1, param2] 绑定参数异常
  6. python基础——python容器的有序性和可变性总结
  7. 从零开始搭建框架SSM+Redis+Mysql(一)之摘要
  8. FIFO算法与LRU算法软考试题
  9. php 远程函数,php 远程图片保存到本地的函数类
  10. 视频教程-汇编语言程序设计VII-其他
  11. 语音识别算法有哪些_语音识别特征提取方法
  12. java向指定用户极光推送_【极光推送】给指定用户发送消息
  13. C++中mian中的参数
  14. VLAN技术防黑+ vtp域VLAN数据同步
  15. android 获取单个通讯录联系人信息(无权限跳转权限设置页面)
  16. python判断字符串合法,详解Python判定IP地址合法性的三种方法 python中判断一个字符串是否是IP地址...
  17. springMVC实现jsonp的跨域请求
  18. 大话设计模式读书笔记之单例模式
  19. 计算机房精密空调通风工程,机房精密空调改造施工工程方案.doc
  20. 关于大华onvif搜索不到的解决

热门文章

  1. 二级导航 sql php,帝国cms栏目导航调用之SQL语句调用一级栏目和二级栏目的方法...
  2. MySQL检索数据(过滤+通配符+正则表达式)
  3. tomcat(7)日志记录器
  4. 在线maven托管_使用Amazon s3托管您的Maven工件
  5. sidecar_Spring Cloud Sidecar –节点初始化
  6. JMetro 5.5版发布
  7. 在JDK 12精简数字格式中使用最小分数数字
  8. apache camel_Apache Camel –从头开始开发应用程序(第1部分/第2部分)
  9. 您自己的MicroProfile Config来源
  10. Spring Security with Spring Boot 2.0:使用Servlet堆栈的简单身份验证