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 【描述】: 该压缩包文件包含了一份51页的PDF文档,主题是关于Guava库的学习入门教程。Guava是Google开发的一个Java库,提供了许多核心库的功能,如集合、缓存、原生类型支持...
Guava 是 Google 开源的一个 Java 工具包,包含了丰富的工具类和库,极大地扩展了 Java 的功能。这里我们详细探讨一下 Guava 的主要知识点。...学习并掌握 Guava,将极大地提升 Java 开发的生产力和代码质量。
Guava 是 Google 开源的一个 Java 库,它包含了大量的实用工具类,可以帮助开发者更高效地编写代码。这个库的设计目标是提高代码的可读性和可维护性,减少重复的样板代码,同时也提供了一些高级的数据结构和算法。让...
Google Guava是一个Java库,提供了许多工具类和集合框架,其中也包含了对函数式编程的支持。例如,Guava的`com.google.common.base.Function`接口和`com.google.common.collect.Lists.transform`方法可以让开发者...
本学习笔记将重点介绍Guava中的几个核心工具类:Joiner、Splitter、Preconditions。 1. Joiner类与Splitter类 Joiner类的主要功能是将集合中的元素拼接成一个字符串。通过指定分隔符,可以灵活地将集合或Map中的...
Guava学习笔记笔记的大部分中文翻译内容来源于以下译者: 沉义扬,罗立树,何一昕,武祖校对:方腾飞感谢给我们带来的这一系列好文章。引言Guava工程包含了若干被Google的Java项目广泛依赖的核心库,例如:集合...
本篇文章将深入探讨Guava的学习,包括最佳实践、基础工具、集合以及源码分析,特别是`ComparisonChain`的源码学习。 首先,了解Guava的最佳实践是非常重要的。Guava提供了一些设计模式和编程技巧,可以帮助开发者写...
Guava是Google开发的一个核心库,它为Java平台提供了许多实用工具类,涵盖了集合、并发、I/O、字符串处理、数学运算等多个方面。...这两个JAR文件的组合,为开发者提供了使用和学习Guava所需的一切。
开发者可以通过查看这些源代码来理解Guava内部的工作原理,方便进行学习、调试和扩展。源码文件对于开发者来说是非常有价值的,特别是当遇到使用问题或想要自定义Guava功能时。 标签中的"guava"是指Guava库本身,它...
这个"Guava 工程项目包"包含了一个完整的 Guava 源码库,名为 "guava-master",对于学习和理解 Guava 的内部实现非常有帮助。 1. **核心库功能** - **集合框架**:Guava 提供了丰富的集合类,如 Multiset(多集)...
3. **guava-21.0-rc2-sources**: 这是Guava库的源代码文件,对于开发者来说,查看源码可以帮助理解库内部的工作机制,进行学习、调试或者定制功能。通过源码,开发者可以看到Guava是如何实现各种高级数据结构、集合...
通过学习 Google Guava 官方教程,开发者能够更有效地利用这些工具,提高代码质量和效率,同时降低维护成本。该教程深入浅出地解释了每个特性的使用方法,并通过实例帮助理解其工作原理。对于任何希望提升 Java 编程...
Guava是Google为Java平台设计的一个开源库,其版本号为14.0.1,主要目的是为了...需要注意的是,尽管Guava功能强大,但引入新的库也可能带来额外的学习成本和潜在的兼容性问题,因此在使用时应根据项目需求谨慎选择。
在开始学习Guava之前,你需要具备基本的Java编程知识。这样,你可以更好地理解和利用Guava提供的各种功能。 教程内容可能包括但不限于以下几个方面: 1. **集合框架增强**:Guava提供了如Multiset、Multimap、...
- `guava-17.chm`和`guava-16.chm`是两个版本的官方API帮助文档,提供了详细的方法说明和使用示例,是学习和理解Guava API的重要资源。 6. **jar文件**: - `guava-17.0.jar`和`guava-16.0.1.jar`分别是两个版本...
Guava是Google开发的一个Java库,它包含...学习和使用Guava能够显著提升Java开发效率,使代码更简洁、更健壮。对于毕业设计论文、系统软件工具的开发,或者任何需要高效、可靠代码的项目,Guava都是一个值得考虑的库。
**正文** Google Guava是Google开发的一个开源Java...通过学习和熟练掌握Guava,开发者能够编写出更加高效、易维护的Java应用程序。在实际工作中,根据项目需求选择合适的Guava工具,可以显著提升软件性能和可扩展性。
Guava Cache是Google Guava库中的一个强大特性,它提供了高效的本地缓存解决方案,用于存储经常...这个案例是学习和理解Guava Cache操作的一个良好起点,可以帮助开发者在实际项目中有效地利用缓存机制提高应用性能。
Apache Mahout是一款基于Hadoop的数据挖掘库,它为大规模机器学习提供了丰富的算法支持,包括分类、聚类、协同过滤等。在Mahout的生态系统中,Guava是一个不可或缺的组件,Guava-r09-jar是其早期版本的一个依赖库,...
通过学习Guava的设计思想和技术细节,开发者不仅能够提高自己的编程效率,还能编写出更加健壮和易于维护的代码。 #### 二、Guava的核心特性 ##### 1. 集合框架扩展 Guava提供了丰富的集合类实现,包括但不限于`...