之前看到的介绍guava的文章,把之前总结的整理了下
1. 基本工具 [Basic utilities]
让使用Java语言变得更舒适
1.1 使用和避免null:null是模棱两可的,会引起令人困惑的错误,有些时候它让人很不舒服。很多Guava工具类用快速失败拒绝null值,而不是盲目地接受
1.2 前置条件: 让方法中的条件检查更简单
1.3 常见Object方法: 简化Object方法实现,如hashCode()和toString()
1.5 Throwables:简化了异常和错误的传播与检查
package com.insightfullogic.java8.test;
import com.google.common.base.MoreObjects;
import com.google.common.base.Objects;
import com.google.common.base.Optional;
import com.google.common.base.Preconditions;
import com.google.common.collect.ComparisonChain;
import com.google.common.collect.Lists;
import com.google.common.collect.Ordering;
import java.util.ArrayList;
import java.util.List;
/**
* Created by user on 2018/6/30.
* guava学习笔记1,参考地址:http://ifeve.com/google-guava/
* 1.基本工具 [Basic utilities]
* 1.1 使用和避免null:null是模棱两可的,会引起令人困惑的错误,有些时候它让人很不舒服。很多Guava工具类用快速失败拒绝null值,而不是盲目地接受
* 1.2 前置条件: 让方法中的条件检查更简单
* 1.3 常见Object方法: 简化Object方法实现,如hashCode()和toString()
* 1.4 排序: Guava强大的”流畅风格比较器”
* 1.5 Throwables:简化了异常和错误的传播与检查
* @author:bxy
* @Description:
* @Date:Created in 18:07 on 2018/6/30.
*/
public class GuavaTest1 {
public static void main(String[] args) {
try {
GuavaTest1 a = new GuavaTest1();
a.test1_1();
a.test1_2();
a.test1_3();
a.test1_4();
a.test1_5();
} catch (Exception e) {
e.printStackTrace();
}
}
public void test1_1(){
//Optional.of(T)
Optional<Integer> p = Optional.of(5);
p.isPresent(); // returns true
System.out.println(p.get()); // returns 5
try {
Optional.of(null);// 若引用为null则快速失败
} catch (NullPointerException e) {
}
//Optional.absent() 创建引用缺失的Optional实例
Optional<Integer> o1 = Optional.absent();
System.out.println(o1.isPresent());
//Optional.fromNullable(T) 返回一个包含给定数值的Present, 如果是null值, 返回具有某种类型的Absent.INSTANCE
o1 = Optional.fromNullable(11);
System.out.println(o1.get());
o1 = Optional.fromNullable(null);
System.out.println(o1.isPresent());
//非静态方法
//boolean isPresent() 如果Optional包含非null的引用(引用存在),返回true
//T get