`
arcticfox9902
  • 浏览: 107102 次
  • 性别: Icon_minigender_2
  • 来自: 杭州
社区版块
存档分类
最新评论

[Google Guava笔记](二)base

阅读更多

2       base:像这个包名所描述的,提供了基本的实用工具库和接口。

 

接口:

2.1     FinalizableReference:如果引用被垃圾回收后还有代码需要执行,实现此接口。只有一个方法: void finalizeReferent(),这个方法在引用被垃圾回收时由后台线程调用,除非安全限制阻止了后台线程的启动,这种情况下当新的引用被创建时调用此方法。

2.2     Function<F, T>:根据输入值决定输出。有两个方法: T apply(@Nullable F input) boolean equals(@Nullable Object object)

2.3     Predicate<T>:根据输入返回 ture false,谓词。 有两个方法: boolean apply(@Nullable T input) boolean equals(@Nullable Object object)

2.4     Supplier<T>:提供某种类型的对象的类。 可以是 factory generator builder closure等。只有一个方法 T get()

2.11   Equivalence<T>:决定两个实例是否被判定为等效的策略。有两个方法: boolean equivalent(@Nullable T a, @Nullable T b) int hash(@Nullable T t)

2.28   Ticker:与时间有关的类,返回从某个定点时间到现在的纳秒数。有一个方法: read()

 

枚举类:

2.5     CaseFormat:多种 ASCII大小写格式转换的工具类。枚举值有:小写的连字符、小写的下划线、 lower_camel upper_camel和大写的下划线。有一个 public方法: to(CaseFormat format, String s),它根据 format s进行相应转换。

 

类:

2.6     Ascii:提供了一组静态变量和与 Ascii相关的静态方法。静态变量包括从 0 32,以及 127 Ascii码。 静态方法包括 toLowerCase(String) toLowerCase(Char) toUpperCase(String) toUpperCase(Char) isUpperCase(Char) isLowerCase(Char)

2.7     CharMatcher:实现了 Predicate接口,根据输入的字符返回 true false。是一个抽象类,内部有多个子类,包括公有的静态类和匿名内部类。

公有的静态变量:

          WHITESPACE CharMatcher,根据最新的 Unicode标准,判断一个字符是否是空白符。

          BREAKING_WHITESPACE CharMatcher,判断一个字符是否是可以用来分词的空白符。

ASCII CharMatcher,判断一个字符是否是 ASCII,即小于 128

DIGIT CharMatcher,根据 Unicode判断一个字符是否是数字。

JAVA_DIGIT CharMatcher,根据 Java Charactor.isDigit(char)的定义来判断一个字符是否是数字。

JAVA_LETTER CharMatcher,根据 Java Charactor.isLetter(char)的定义来判断一个字符是否是字母。

          JAVA_LETTER_OR_DIGIT CharMatcher,根据 Java Charactor.isLetterOrDigit(char)的定义来判断一个字符是否是字母或数字。

          JAVA_UPPER_CASE CharMatcher,根据 Java Charactor.isUpperCase(char)的定义来判断一个字符是否是大写格式。

          JAVA_LOWER_CASE CharMatcher,根据 Java Charactor.isLowerCase(char)的定义来判断一个字符是否是小写格式。

          JAVA_ISO_CONTROL CharMatcher,根据 Java Charactor.isISOControl(char)的定义来判断一个字符是否是 ISO控制字符, ISO控制字符的范围为 \u0000-\u001f \u007f- \u009f

          INVISIBLE CharMatcher,判断一个字符是否为不可见的,包括 SPACE_SEPARATOR, LINE_SEPARATOR, PARAGRAPH_SEPARATOR, CONTROL, FORMAT, SURROGATE, PRIVATE_USE

SINGLE_WIDTH CharMatcher,判断一个字符是否为单字,如果不能判断则猜测它是双字的,返回 false

ANY CharMatcher,任意字符。

NONE CharMatcher,与 ANY相反,不匹配任何字符。

 

静态方法:

is(final char match):返回 CharMatcher,方法内有个 CharMatcher的匿名内部类,它判断一个字符是否为 match

isNot(final char match):返回 CharMatcher,作用与 is()相反。

anyOf(final CharSequence sequence):返回 CharMatcher,判断一个字符是否在 sequence内。

noneOf(CharSequence sequence):返回 CharMatcher,与 anyOf()相反。

          inRange(final char startInclusive, final char endInclusive):返回 CharMatcher,判断一个字符是否在 startInclusive endInclusive范围内。

          forPredicate(final Predicate<? super Character> predicate):返回 CharMatcher,将参数中的 predicate包装成 CharMatcher

 

成员方法:

matches(char c):根据 c返回 true false

negate():返回与当前 CharMatcher作用相反的 CharMatcher

and(CharMatcher other):返回 this other效果的 CharMatcher

or(CharMatcher other):返回 this other效果的 CharMatcher

          precomputed():返回 CharMatcher,该 CharMatcher在检索时比原始的 CharMatcher效率高,但是预处理也需要花时间,所以只有当某个 CharMatcher需要被使用上千次的时候才有必要进行预处理。这个方法在 GWT中被调用时没有效果,无法判断 precomputed()返回的 CharMatcher是否更快,但是它消耗了很多内存,因此在浏览器中使用很不划算。

matchesAnyOf(CharSequence sequence):如果 sequence中有字符能匹配,返回 true

matchesAllOf(CharSequence sequence):如果 sequence中的所有字符都能匹配,返回 true

matchesNoneOf(CharSequence sequence):如果 sequence中的所有字符都不能匹配,返回 true

          indexIn(CharSequence sequence):返回 suquence中第一个被匹配到的字符的位置,如果没有被匹配到的字符,返回 -1

indexIn(CharSequence sequence, int start) lastIndexIn(CharSequence sequence):与上面的方法类似。

countIn(CharSequence sequence):返回 sequence中匹配到的字符数。

removeFrom(CharSequence sequence):返回 sequence删除匹配到的字符后的字符串。

retainFrom(CharSequence sequence):返回 sequence删除未匹配到的字符后的字符串。

replceFrom(CharSequence sequence, char replacement):将 sequence中被匹配到的字符替换为 replacement

replceFrom(CharSequence sequence, CharSequence replacement):与上面的方法类似。

          trimFrom(CharSequence sequence):删除 sequnce头尾被匹配到的字符。例如: CharMatcher.anyOf(" ab ").trimFrom(" abacatbab ") 返回 cat

          trimLeadingFrom(CharSequence sequence) trimTrailingFrom(CharSequence sequence)分别删除 sequence头部、尾部被匹配到的字符。

          collapseFrom(CharSequence sequence, char replacement):把 sequence中连续被匹配到的字符用一个 replacement替换。例如: CharMatcher.anyOf(" eko ").collapseFrom("bookkeeper", ' - ') 返回” b-p-r”

trimAndCollapseFrom(CharSequence sequence, char replacement)

apply(Character character) Predicate接口中声明的方法,作用与 matches相似。

2.8    Charsets:字符集,定义了所有 Java平台都支持的六个标准字符集的实例,包括: US_ASCII ISO_8859_1 UTF_8 UTF_16BE UTF_16LE UTF_16

2.9    Defaults:提供了所有 Java类型的默认值。有一个静态方法: defaultValue(Class type),返回 type的默认值。

2.10  Enums

2.12  Equivalences:包含一个静态的创建 Equivalence实例的工厂方法。

静态方法:

equals():返回一个 Equivalence<Object>,如果两个对象相等 (equal),则可判定为等效。

identity():返回一个 Equivalence<Object>,如果两个对象是同一个对象,判定为等效。

          pairwise(Equivalence<? super T> elementEquivalence):返回一个 Equivalence<Object>,是 PairwiseEquivalence<T>类型的,对可迭代的对象进行判定。判定的策略是对相同位置的元素用 elementEquivalence进行判定,如果至少有一对元素不等效,那么判定这两个可迭代对象不等效。

2.13  PairwiseEquivalence<T>:实现了 Equivalence<Iterable<T>>接口,判定两个可迭代对象是否等效。

 

(未完待续)

以上。

 

 

分享到:
评论

相关推荐

    不加密Google Guava视频教程.txt

    ├─Google Guava 第09讲-Guava之Files讲解第二部分.wmv ├─Google Guava 第10讲-Guava之Files讲解第三部分.wmv ├─Google Guava 第11讲-Guava之CharSource和CharSink源码剖析.wmv ├─Google Guava 第12讲-...

    google guava

    google guava框架,包括Getting Started with Google Guava、google cache、base、io等介绍

    使用google guava 实现定时缓存功能

    使用google guava 实现定时缓存功能

    Getting Started with Google Guava

    Getting Started with Google Guava, guava的技术参考文档

    Google Guava 官方教程

    Google Guava 官方教程 - 详情:https://blog.csdn.net/Dream_Weave/article/details/86252213

    guavapdf-ch_GoogleGuava官方教程_

    Google Guava 官方教程 - v1.1

    Google的Guava工具包

    Guava 是一个 Google 的基于java1.6的类库集合的扩展项目,包括 collections, caching, primitives support, concurrency libraries, common annotations, string processing, I/O, 等等. 这些高质量的 API 可以使你...

    Google Guava 多版本集合

    Guava是一种基于开源的Java库,其中包含谷歌正在由他们很多项目使用的很多核心库。这个库是为了方便编码,并减少编码错误。这个库提供用于集合,缓存,支持原语,并发性,常见注解,字符串处理,I/O和验证的实用方法...

    google Guava集合工具类(超实用)

    Guava 是一个 Google 的基于java1.6的类库集合的扩展项目,包括 collections, caching, primitives support, concurrency libraries, common annotations, string processing, I/O, 等等. 这些高质量的 API 可以使你...

    Getting Started with Google Guava code

    Getting Started with Google Guava code

    Google Guava 官方教程 - v1.1.2018-07-22.pdf

    Google Guava 官方教程 v1.1 2018-07-22 https://github.com/tianbian224/GuavaLearning/blob/master/Google%20Guava%20%E5%AE%98%E6%96%B9%E6%95%99%E7%A8%8B%20-%20v1.1.pdf

    google guava 中文教程

    此文档为Guava中最流行和最强大的功能,提供更具可读性和解释性的说明

    Google Guava

    Getting Started with Google Guava.pdf -Bill Bejeck

    guava-17.0-API文档-中文版.zip

    标签:google、guava、中文文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。

    google guava 官方教程pdf下载

    Google Guava 官方教程

    com.google.guava_1.6.0.jar.zip

    com.google.guava_1.6.0.jar.zip com.google.guava_1.6.0.jar.zip

    Google Guava Sources.jar

    19的guava包 希望对大家有帮助

    Google Guava 官方教程 - v1.1.epub

    Google Guava 官方教程,电子书,epub格式,可用在手机端阅读

    guava-20.0-API文档-中文版.zip

    标签:google、guava、jar包、java、中文文档; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。

    guava-23.0-API文档-中文版.zip

    标签:google、guava、中文文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。

Global site tag (gtag.js) - Google Analytics