Guava – 概述

Guava – 概述

Guava – 概述

什么是Guava?

Guava是一个开源的、基于Java的库,包含了Google的许多核心库,在他们的许多项目中都在使用。它促进了最佳编码实践,并有助于减少编码错误。它为集合、缓存、基元支持、并发、通用注释、字符串处理、I/O和验证提供了实用方法.

Guava 优点

标准化的 – Guava库由谷歌管理.

高效 – 它是对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()没有照顾到任何要传递为空的参数.

调用函数也不担心会意外地将一个空值传递给sum()方法.

当程序运行时,发生NullPointerException.

为了避免上述问题,在每一个出现此类问题的地方都要进行空值检查。

让我们看看如何使用Optional,一个Guava提供的实用类,以一种标准化的方式解决上述问题.

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类,你可以检查调用者方法是否传递了一个合适的参数.

相关推荐

差评多久生效(差评多久生效不能改)
学会关闭iphone手机充电提示音,让你享受安静的充电
世界散打王争霸赛
2025年6月25日农历是哪天,万年历农历查询
揭秘高效团队建设规划方案:5个步骤打造凝聚力爆棚的梦之队
一般配音需要多久 自学配音要多久