Guava 概述

Guava 概述

❮ Guava 教程

Guava 安装和环境设置 ❯

Guava - 概述

更新于 2024/5/31 13:30:48

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。

为了避免上述问题,需要对每个存在问题的地方进行null检查。

我们来看看如何使用Guava提供的Utility类Optional来规范地解决上述问题。

import com.google.common.base.Optional;

public class GuavaTester {

public static void main(String args[]) {

GuavaTester guavaTester = new GuavaTester();

Integer invalidInput = null;

Optional a = Optional.of(invalidInput);

Optional b = Optional.of(new Integer(10));

System.out.println(guavaTester.sum(a,b));

}

public Integer sum(Optional a, Optional 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)

让我们了解一下上述程序的重要概念。

Optional − 一个实用程序类,使代码正确使用 null。

Optional.of − 它返回要用作参数的Optional 类的实例。 它检查传递的值,不为"null"。

Optional.get − 它获取存储在Optional类中的输入值。

使用Optional类,您可以检查调用者方法是否传递了正确的参数。

❮ Guava 教程

Guava 安装和环境设置 ❯

相关推荐

金箍棒为何千余年只认孙悟空?它又名“灵阳棒”,跟悟空关系匪浅
朝鲜旧仇未报再添新恨 7球大败队员称回国受罚是谣言
365体育投注网站官网

朝鲜旧仇未报再添新恨 7球大败队员称回国受罚是谣言

📅 07-06 👁️ 709
简单几步就搞定新疆舞“动脖子”
365bet备用官网

简单几步就搞定新疆舞“动脖子”

📅 07-10 👁️ 8355
日本产品质量为什么这么好,看了这篇你就知道的
365体育投注网站官网

日本产品质量为什么这么好,看了这篇你就知道的

📅 07-22 👁️ 5101
请先验证
365体育投注网站官网

请先验证

📅 07-19 👁️ 701
死刑!轰动全球的“京阿尼纵火案”宣判。以精神病做辩护,5年终于等到正义的处决-7.GAME