`
arcticfox9902
  • 浏览: 108596 次
  • 性别: 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工具包

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

    Google Guava 官方教程

    **Google Guava官方教程** Google Guava 是一个广泛使用的 Java 库,它提供了一系列现代编程实用工具,旨在简化常见的编程任务。Guava 提供了集合框架的扩展、并发支持、缓存机制、字符串处理工具、I/O 工具以及...

    google guava

    Google Guava是一个由Google开发并维护的开源Java库,它为Java开发者提供了许多实用的工具类和集合框架,极大地简化了常见的编程任务。这个框架包含了多个模块,如基础(base)、缓存(cache)、I/O(io)以及并发...

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

    在IT行业中,Google Guava库是一个非常强大的工具集,它为Java开发人员提供了一系列实用的集合、缓存、并发和I/O工具。本篇文章将详细探讨如何利用Guava库实现定时缓存功能,以提高应用的性能和效率。 首先,Guava...

    Getting Started with Google Guava

    《Getting Started with Google Guava》是Bill Bejeck所著,旨在帮助Java开发者通过Google Guava库编写更优质、更高效的代码。Bill Bejeck是一位拥有10年经验的资深软件工程师,专注于各种项目的开发工作。在写作...

    google guava 中文教程

    Google Guava是Google开发的一个开源Java库,它包含了一系列高级且实用的集合类、缓存机制、并发工具、字符串处理、I/O工具等,极大地提升了Java开发者的工作效率。Guava的目标是通过提供一系列现代实用工具,帮助...

    google开源项目guava.jar包

    谷歌的Guava库是Java开发中的一个非常重要的开源项目,它提供了一系列的高效、实用的工具类,大大简化了常见的编程任务。Guava的核心特性包括集合框架、缓存、原生类型支持、并发库、字符串处理、I/O操作等。这个...

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

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

    guavapdf-ch_GoogleGuava官方教程_

    **Google Guava官方教程概述** Google Guava 是一个开源库,为Java开发人员提供了一组核心库,包括集合、缓存、并发工具、I/O工具、字符串处理、实用方法等。这个官方教程主要针对Guava库的使用进行详细介绍,帮助...

    Google Guava

    Google Guava库是由Google开发的一个开源项目,旨在提供Java开发中常用的基础功能。它的目标是简化Java编程,为开发者提供更加清晰、高效的代码编写方式。通过使用Guava库,开发者可以不必在每次项目中重复编写相同...

    Google Guava 多版本集合

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

    Getting Started with Google Guava code

    **Google Guava简介** Google Guava 是一个广泛使用的开源库,为Java开发人员提供了一系列实用工具类和集合框架。这个库旨在简化常见的编程任务,提高代码的可读性和可维护性。Guava 提供了丰富的功能,包括缓存、...

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

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

    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.jar

    《谷歌Guava库详解》 谷歌Guava,全称为Google Guava,是Google推出的一款Java库,它包含一系列基础工具类,旨在简化Java开发工作,提高代码效率和可维护性。Guava的核心特性包括集合框架、缓存、原始类型支持、...

    Getting Started with Google Guava.pdf

    Google Guava 是一个由Google提供的开源Java库,它包含了许多强大的工具类和集合类,这些类可以帮助开发者更高效地编写Java代码。Guava的目标是提供一种更加简洁、优雅的方式来处理常见的编程任务,并且在很多情况下...

    com.google.guava_1.6.0.jar.zip

    《深入解析Google Guava库:Ints模块》 在Java编程中,Google Guava库是一个不可或缺的工具集合,它提供了大量的高效、实用的类和方法,极大地提升了开发效率。本次我们将聚焦于Guava中的`Ints`模块,通过分析`...

    谷歌guava的jar包和源码,值得收藏

    **谷歌Guava库详解** 谷歌Guava库是一个广泛使用的Java库,它提供了许多核心库的实用工具类,包括集合、缓存、并发、I/O、字符串处理、泛型 utilities、错误处理、网络、数学运算以及类加载器支持等多个方面。Guava...

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

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

Global site tag (gtag.js) - Google Analytics