教程 > 阅读:194

guava 教程——迹忆客-ag捕鱼王app官网

什么是 guava?

guava 是一个开源的、基于 java 的库,包含许多谷歌的核心库,这些库被用在他们的许多项目中。 它促进最佳编码实践并有助于减少编码错误。 它为集合、缓存、原语支持、并发、公共注释、字符串处理、i/o 和验证提供实用方法。

本教程采用简单直观的方式描述 guava 的基础到高级概念以及如何使用其 api。


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() 不处理任何要作为 null 传递的参数。
  • 调用函数也不担心意外地将 null 传递给 sum() 方法。
  • 程序运行时,会出现 nullpointerexception

为了避免上述问题,每一个出现此类问题的地方都要进行null check。

让我们看看如何使用 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 类,我们可以检查调用方方法是否传递了正确的参数。


本教程需要准备的知识

本教程对大多数 java 开发人员都很有用,从初学者到专家。 完成本教程后,我们相信大家会发现在程序中使用 guava 很容易。之前接触过 java 编程是充分利用本教程的唯一要求。

查看笔记

扫码一下
查看教程更方便
网站地图