`
chenchi1985
  • 浏览: 71105 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

Guava学习

    博客分类:
  • j2se
 
阅读更多

Preconditions

用于验证对象的各种状态,可以将这个类里面的方法静态导入,就和导入junit的各种assert一样。

import static com.google.common.base.Preconditions.*;

每个验证方法都可以多个参数,第一个变量代表了对象或一些逻辑判断,第二个参数为错误信息, 从第三个开始就是需要插入到错误信息里的变量了:

checkArgument(i >= 0, "Argument was %s but expected nonnegative", i);
checkArgument(i < j, "Expected i < j, but %s > %s", i, j);

 主要的验证方法如下:

checkArgument(boolean)
checkNotNull(T)
checkState(boolean)
checkElementIndex(int index, int size)
checkPositionIndex(int index, int size)
checkPositionIndexes(int start, int end, int size)

 

Object common methods

equals

如果一个对象可能为null,就不能直接调用这个对象的equal方法:

Objects
.
equal
(
"a"
,
 
"a"
);
 
// returns true


Objects
.
equal
(
null
,
 
"a"
);
 
// returns false


Objects
.
equal
(
"a"
,
 
null
);
 
// returns false


Objects
.
equal
(
null
,
 
null
);
 
// returns true
 

hashCode

Objects.hashCode(field1, field2, ..., fieldn)

toString

   // Returns "ClassName{x=1}"
   Objects.toStringHelper(this)
       .add("x", 1)
       .toString();

   // Returns "MyObject{x=1}"
   Objects.toStringHelper("MyObject")
       .add("x", 1)
       .toString();

compare/compareTo

   public int compareTo(Foo that) {
     return ComparisonChain.start()
         .compare(this.aString, that.aString)
         .compare(this.anInt, that.anInt)
         .compare(this.anEnum, that.anEnum, Ordering.natural().nullsLast())
         .result();
   }
 
分享到:
评论

相关推荐

    Guava学习入门共51页.pdf.zip

    【标题】: Guava学习入门共51页.pdf.zip 【描述】: 该压缩包文件包含了一份51页的PDF文档,主题是关于Guava库的学习入门教程。Guava是Google开发的一个Java库,提供了许多核心库的功能,如集合、缓存、原生类型支持...

    guava学习知识点

    Guava 是 Google 开源的一个 Java 工具包,包含了丰富的工具类和库,极大地扩展了 Java 的功能。这里我们详细探讨一下 Guava 的主要知识点。...学习并掌握 Guava,将极大地提升 Java 开发的生产力和代码质量。

    Guava学习-----弱鸡晋级之路

    Guava 是 Google 开源的一个 Java 库,它包含了大量的实用工具类,可以帮助开发者更高效地编写代码。这个库的设计目标是提高代码的可读性和可维护性,减少重复的样板代码,同时也提供了一些高级的数据结构和算法。让...

    83丨开源实战三(下):借GoogleGuava学习三大编程范式中的函数式编程1

    Google Guava是一个Java库,提供了许多工具类和集合框架,其中也包含了对函数式编程的支持。例如,Guava的`com.google.common.base.Function`接口和`com.google.common.collect.Lists.transform`方法可以让开发者...

    guava学习笔记

    本学习笔记将重点介绍Guava中的几个核心工具类:Joiner、Splitter、Preconditions。 1. Joiner类与Splitter类 Joiner类的主要功能是将集合中的元素拼接成一个字符串。通过指定分隔符,可以灵活地将集合或Map中的...

    notes-learning-guava:guava学习笔记

    Guava学习笔记笔记的大部分中文翻译内容来源于以下译者: 沉义扬,罗立树,何一昕,武祖校对:方腾飞感谢给我们带来的这一系列好文章。引言Guava工程包含了若干被Google的Java项目广泛依赖的核心库,例如:集合...

    guava-learn:guava 学习代码库,和对 guava 源码的学习

    本篇文章将深入探讨Guava的学习,包括最佳实践、基础工具、集合以及源码分析,特别是`ComparisonChain`的源码学习。 首先,了解Guava的最佳实践是非常重要的。Guava提供了一些设计模式和编程技巧,可以帮助开发者写...

    guava-18.0(guava-18.0.jar和guava-18.0-sources.jar)

    Guava是Google开发的一个核心库,它为Java平台提供了许多实用工具类,涵盖了集合、并发、I/O、字符串处理、数学运算等多个方面。...这两个JAR文件的组合,为开发者提供了使用和学习Guava所需的一切。

    guava-19.0 jar和sources

    开发者可以通过查看这些源代码来理解Guava内部的工作原理,方便进行学习、调试和扩展。源码文件对于开发者来说是非常有价值的,特别是当遇到使用问题或想要自定义Guava功能时。 标签中的"guava"是指Guava库本身,它...

    Guava 工程项目包 有实例

    这个"Guava 工程项目包"包含了一个完整的 Guava 源码库,名为 "guava-master",对于学习和理解 Guava 的内部实现非常有帮助。 1. **核心库功能** - **集合框架**:Guava 提供了丰富的集合类,如 Multiset(多集)...

    guava-21.0-rc2 、guava-21.0-rc2-javadoc 、guava-21.0-rc2-sources

    3. **guava-21.0-rc2-sources**: 这是Guava库的源代码文件,对于开发者来说,查看源码可以帮助理解库内部的工作机制,进行学习、调试或者定制功能。通过源码,开发者可以看到Guava是如何实现各种高级数据结构、集合...

    Google Guava 官方教程

    通过学习 Google Guava 官方教程,开发者能够更有效地利用这些工具,提高代码质量和效率,同时降低维护成本。该教程深入浅出地解释了每个特性的使用方法,并通过实例帮助理解其工作原理。对于任何希望提升 Java 编程...

    guava14.0.1jar包

    Guava是Google为Java平台设计的一个开源库,其版本号为14.0.1,主要目的是为了...需要注意的是,尽管Guava功能强大,但引入新的库也可能带来额外的学习成本和潜在的兼容性问题,因此在使用时应根据项目需求谨慎选择。

    Guava for java 实例学习

    在开始学习Guava之前,你需要具备基本的Java编程知识。这样,你可以更好地理解和利用Guava提供的各种功能。 教程内容可能包括但不限于以下几个方面: 1. **集合框架增强**:Guava提供了如Multiset、Multimap、...

    最新guava17.0jar,17.0API与guava16.0jar,16.0API

    - `guava-17.chm`和`guava-16.chm`是两个版本的官方API帮助文档,提供了详细的方法说明和使用示例,是学习和理解Guava API的重要资源。 6. **jar文件**: - `guava-17.0.jar`和`guava-16.0.1.jar`分别是两个版本...

    Guava常用类库 v33.0.0.zip

    Guava是Google开发的一个Java库,它包含...学习和使用Guava能够显著提升Java开发效率,使代码更简洁、更健壮。对于毕业设计论文、系统软件工具的开发,或者任何需要高效、可靠代码的项目,Guava都是一个值得考虑的库。

    google guava 中文教程

    **正文** Google Guava是Google开发的一个开源Java...通过学习和熟练掌握Guava,开发者能够编写出更加高效、易维护的Java应用程序。在实际工作中,根据项目需求选择合适的Guava工具,可以显著提升软件性能和可扩展性。

    Guava-Cache本地缓存案例代码

    Guava Cache是Google Guava库中的一个强大特性,它提供了高效的本地缓存解决方案,用于存储经常...这个案例是学习和理解Guava Cache操作的一个良好起点,可以帮助开发者在实际项目中有效地利用缓存机制提高应用性能。

    mahout的guava-r09-jar

    Apache Mahout是一款基于Hadoop的数据挖掘库,它为大规模机器学习提供了丰富的算法支持,包括分类、聚类、协同过滤等。在Mahout的生态系统中,Guava是一个不可或缺的组件,Guava-r09-jar是其早期版本的一个依赖库,...

    Getting Started with Google Guava.pdf

    通过学习Guava的设计思想和技术细节,开发者不仅能够提高自己的编程效率,还能编写出更加健壮和易于维护的代码。 #### 二、Guava的核心特性 ##### 1. 集合框架扩展 Guava提供了丰富的集合类实现,包括但不限于`...

Global site tag (gtag.js) - Google Analytics