大家好,我是开源小妹。
今天给大家分享一个非常好用的工具类库:guava。
介绍
Guava项目包含我们在基于Java的项目中依赖的几个Google核心库:集合、缓存、原语支持、并发库、公共注释、字符串处理、I/O等等。这些工具中的每一个确实每天都会被谷歌用户在生产服务中使用。看起来很强大,接下来跟着小妹一块来看看吧。
快速入门
加入依赖
1 2 3 4 5
   | <dependency>     <groupId>com.google.guava</groupId>     <artifactId>guava</artifactId>     <version>29.0-jre</version> </dependency>
   | 
 
对象公共方法
1 2 3 4
   | public static void baseMehod(){      System.out.println(Objects.equal("a", "a"));      System.out.println(Objects.hashCode("a"));  }
  | 
 
运行效果如下:

基本类型处理
1 2 3 4 5 6
   | public static void primitives(){     List<Integer> list = Ints.asList(1, 2, 3);     List<Character> characters = Chars.asList('1', '2', '3');     System.out.println(list);     System.out.println(characters); }
  | 
 
运行效果如下:

处理字符串
1 2 3 4 5 6 7 8
   | public static void dealString(){       String str = "zhangsan,lisi";              System.out.println(Strings.isNullOrEmpty(str));              List<String> list = Splitter.on(",").splitToList(str);       System.out.println(list);   }
  | 
 
运行效果如下:

处理集合
1 2 3 4 5 6 7
   | public static void dealLists(){     ArrayList<String> strings = Lists.newArrayList("zhangsan", "lisi");     System.out.println(strings);
      List<String> reverse = Lists.reverse(strings);     System.out.println(reverse); }
  | 
 
运行效果如下:

这里小妹只是简单介绍了 guava 的几个功能的使用,它还有其他的丰富的功能 例如 本地缓存的处理,我们日常本地缓存的话,可以使用 map 或者 list等 但是这些作为缓存则需要我们去处理缓存什么时候过期 数据更新等一系列操作,这些 guava 中的缓存都帮我们做了,简单方法如下:
1 2 3 4 5 6 7 8 9 10
   | LoadingCache<String, String> graphs = CacheBuilder.newBuilder()  .maximumSize(1000)  .expireAfterWrite(10, TimeUnit.MINUTES)  .build(      new CacheLoader<String, String>() {        @Override        public String load(String key) throws AnyException {          return dealData(key);        }    });
   | 
 
小妹总结
今天小妹就介绍到这里,guava 的功能很强、很丰富 可以省去重复造轮子的动作,大家快去试一试吧。