Guava概述 Guava环境设置 什么是Guava? Guava是一个基于Java的开源库,包含许多Google核心库,这些库正在许多项目中使用。它有助于最佳编码实践,并有助于减少编码错误。它为集合,缓存,基元支持,并发,通用注释,字符串处理,I / O和验证提供实用程序方法。 Guava的好处 标准化 - Guava库由Google管理。 高效 - 它是Java标准库的可靠,快速和高效的扩展。 优化 - 库高度优化。 功能编程 - 它为Java增加了功能处理功能。 实用程序 - 它提供了许多在编程应用程序开发中经常需要的实用程序类。 验证 - 它提供标准的故障安全验证机制。 最佳实践 - 强调最佳实践。 请考虑以下代码段。 public class GuavaTester { public static void main(String args[]) { GuavaTester guavaTester = new GuavaTester(); Integer a = null; Integer b = new Integer(10); System.out.println(guavaTester.sum(a,b)); } public Integer sum(Integer a, Integer b) { return a + b; } } 运行该程序以获得以下结果。 Exception in thread "main" java.lang.NullPointerException at GuavaTester.sum(GuavaTester.java:13) at GuavaTester.main(GuavaTester.java:9) 以下是代码的问题。 sum()不会处理任何要传递为null的参数。 调用函数也不担心无意中将null传递给sum()方法。 程序运行时,会发生NullPointerException。 为了避免上述问题,应在存在这些问题的每个地方进行空检查。 让我们看看使用Prote,一个Guava提供的Utility类,以标准化的方式解决上述问题。 import com.google.common.base.Optional; public class GuavaTester { public static void main(String args[]) { GuavaTester guavaTester = new GuavaTester(); Integer invalidInput = null; Optional<Integer> a = Optional.of(invalidInput); Optional<Integer> b = Optional.of(new Integer(10)); System.out.println(guavaTester.sum(a,b)); } public Integer sum(Optional<Integer> a, Optional<Integer> b) { return a.get() + b.get(); } } 运行该程序以获得以下结果。 Exception in thread "main" java.lang.NullPointerException at com.google.common.base.Preconditions.checkNotNull(Preconditions.java:210) at com.google.common.base.Optional.of(Optional.java:85) at GuavaTester.main(GuavaTester.java:8) 让我们理解上述计划的重要概念。 可选 - 实用程序类,用于使代码正确使用null。 Optional.of - 返回Optional类的实例,用作参数。 它检查传递的值,而不是'null'。 Optional.get - 它获取Optional类中存储的输入值。 使用Optional类,可以检查调用方法是否正在传递正确的参数。 Guava 教程导航 Guava概述 Guava环境设置 Guava可选类 Guava先决条件类 Guava 排序类 Guava对象类 Guava Range(范围) Guava Throwables类 Guava 集合工具类 Guava 缓存实用程序 Guava 字符串实用程序 Guava Primitive 工具类 Guava 数学实用程序 Guava环境设置