原文:http://www.javacodegeeks.com/2013/10/guava-15-new-features.html
Guava 是众所周知的google出品的开源工具包,十分好用,本月退出了version 15的版本,其中主要的几个新特性有

1 Escapers字符转义器:

HtmlEscapers
XmlEscapers
UrlEscapers

还可以自定义escaper,比如

    // 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:

这个是用来方便调用如java.version, java.home 等环境变量的,使用的是enum了,比如:

    String java_version_value = StandardSystemProperty.JAVA_VERSION.value();
System.out.println(java_version_value);//1.6.0_16 String java_version_key = StandardSystemProperty.JAVA_VERSION.key();
System.out.println(java_version_key);//java.version

3 EvictingQueue:

这个是一个非阻塞的队列,当队列长度满了后,自动移除头元素,比如:

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

4  fileTreeTraverser 文件遍历递归利器:

这个方法可以快速遍历某个文件目录下的所有文件,比如:

    FluentIterable<File> iterable = Files.fileTreeTraverser().breadthFirstTraversal(new File("d:\\ddd.sql"));
for (File file : iterable) {
System.out.println(file.getAbsolutePath());
}

Guava 15新特性介绍的更多相关文章

  1. Hadoop3.0新特性介绍,比Spark快10倍的Hadoop3.0新特性

    Hadoop3.0新特性介绍,比Spark快10倍的Hadoop3.0新特性 Apache hadoop 项目组最新消息,hadoop3.x以后将会调整方案架构,将Mapreduce 基于内存+io+ ...

  2. php7函数,声明,返回值等新特性介绍

    使用 ... 运算符定义变长参数函数 (PHP 5 >= 5.6.0, PHP 7) 现在可以不依赖 func_get_args(), 使用 ... 运算符 来实现 变长参数函数. functi ...

  3. MyBatis 3.5.2 新特性介绍

    1.MyBatis 最新版本 3.5.2 发布 MyBatis最新版本是:3.5.2,发布时间是:2019年7月15日 2.MyBatis 3.5.2 新特征介绍 我们知道,MyBatis 是支持定制 ...

  4. Java 11 新特性介绍

    Java 11 已于 2018 年 9 月 25 日正式发布,之前在Java 10 新特性介绍中介绍过,为了加快的版本迭代.跟进社区反馈,Java 的版本发布周期调整为每六个月一次——即每半年发布一个 ...

  5. 超详细 Java 15 新功能介绍

    点赞再看,动力无限.微信搜「程序猿阿朗 」,认认真真写文章. 本文 Github.com/niumoo/JavaNotes 和 未读代码博客 已经收录,有很多知识点和系列文章. Java 15 在 2 ...

  6. dubbox新特性介绍

    dubbx是当当网对原阿里dubbo2.x的升级,并且兼容原有的dubbox.其中升级了zookeeper和spring版本,并且支持restfull风格的远程调用. dubbox git地址:  h ...

  7. jdk7和8的一些新特性介绍

    jdk7和8的一些新特性介绍 本文是我学习了解了jdk7和jdk8的一些新特性的一些资料,有兴趣的大家可以浏览下下面的内容. 官方文档:http://www.oracle.com/technetwor ...

  8. ArcGIS 10.3 for Desktop新特性介绍

    ArcGIS 10.3是一个完整公布的ArcGIS平台,它包含新的产品(ArcGIS Pro),针对10.2版本号产品进行了功能增强和稳定性的改进. ArcGIS 10.3 for Server新特性 ...

  9. Xcode9新特性介绍-中文篇

    背景: Xcode 9 新特性介绍: 1.官方原文介绍链接 2.Xcode9 be ta 2 官方下载链接 本文为官方介绍翻译而来,布局排版等都是按照官方布局来的. 与原文相比,排版上基本还是熟悉的配 ...

随机推荐

  1. Flume笔记--示例(使用配置文件)

    例子参考资料:http://www.aboutyun.com/thread-8917-1-1.html 自定义sink实现和属性注入:http://www.coderli.com/flume-ng-s ...

  2. web安全:sql 注入

    sql注入获取webshell寻找sql注入页面,操作数据库的地方向网站写入sql语句' union select 1,2, '<?php system($_GET["cmd" ...

  3. FPGA那些事 --经典总结

    规范很重要 工作过的朋友肯定知道,公司里是很强调规范的,特别是对于大的设计(无论软件还是硬件),不按照规范走几乎是不可实现的.逻辑设计也是这样:如果不按规范做的话,过一个月后调试时发现有错,回头再看自 ...

  4. CP1W-CIF41以太网模块(使用总结)

    1>插入CP1W-CIF41后,ERR灯一直闪烁? 解决方法:CIF41以太网模块在第一个扩展板槽位,需要把CP1H的4号拨码开关拨到ON的位置.同样,如果在第二个槽位,需要5号拨码拨到ON位置 ...

  5. 关于tcc、tlink的编译链接机制的研究

    1.学习过程 在c:\下建立文件夹c,并将编译器tcc.exe.连接器tlink.exe.相关文件c0s.obj.cs.lib.emu.lib.maths.lib放入文件夹中. 要搭建一个简单的C语言 ...

  6. OSSEC配置

    http://gavinshaw.blog.51cto.com/385947/1020540

  7. android merge 标签的使用

    <merge xmlns:android="http://schemas.android.com/apk/res/android"> <ToggleButton ...

  8. 开发者应当了解的WebKit知识

    开发者应当了解的WebKit知识 对一些开发者而言,WebKit就是一个黑盒子.丢进去HTML.CSS.JS等一连串的东西,而WebKit就能变魔术一般显示出一个很棒的网页出来.实际上,正我的同事Il ...

  9. 使用 APPLY

    原文地址:http://technet.microsoft.com/zh-cn/library/ms175156(v=SQL.105).aspx 使用 APPLY 运算符可以为实现查询操作的外部表表达 ...

  10. angular 数据加载动画 longding

    由于公司服务器架构不行,每次加载数据都要很久,但是都是使用angular来渲染数据,不像jquery有beforsend什么的方法, 这是一个github上找的,很轻使用也很简单 1.安装  npm ...