草庐IT

Google Guava 集合工具使用详解

文章目录集合集合分类-MultisetHashMultisetTreeMultisetLinkedHashMultisetConcurrentHashMultisetEnumMultisetImmutableMultiset-MultimapArrayListMultimapHashMultimapLinkedListMultimapLinkedHashMultimapTreeMultimapImmutableListMultimapImmutableSetMultimap-BiMapHashBiMapEnumBiMapEnumHashBiMapImmutableBiMap-TableHash

android - 错误 :Failed to find: com. google.guava :guava:18. 0.+

我在gradle文件中添加了这个依赖//由GoogleHTTP客户端库使用。compile(group:'com.google.guava',name:'guava',version:'18.0.+')我尝试同步Gradle文件,但它一直给我这个错误错误:找不到:com.google.guava:guava:18.0.+ 最佳答案 因为guava没有'patch'版本,只有'major'和'minor'版本。试试这个:compile(group:'com.google.guava',name:'guava',version:'18.

Android X + Truth + Guava 测试编译问题

我有一个Android库(称为api)gradle模块作为一个更大项目的一部分。我刚刚将整个项目迁移到AndroidX。我现在在apilib上运行仪器测试时出现此错误:Task:api:checkDebugAndroidTestDuplicateClassesFAILEDFAILURE:Buildfailedwithanexception.*Whatwentwrong:Executionfailedfortask':api:checkDebugAndroidTestDuplicateClasses'.>1exceptionwasraisedbyworkers:java.lang.Run

android - 将 Espresso 与 Proguard 和 Gradle 集成

我正在开发的应用程序是使用Gradle构建的。我正在尝试添加Espresso作为仪器测试的依赖项。该应用程序本身有一些依赖项,其中之一是Guava15.0。为了完成这项工作,我使用了具有显式依赖项的Espresso版本,并排除了bundle的Guava(改为使用我自己的)。dependencies{...instrumentTestCompilefileTree(dir:'libs/espresso-dependencies',include:'*.jar')compile'com.google.guava:guava:15.0'...}当我尝试使用gradleconnectedIns

android - Greenrobot EventBus 和 Guava 的 EventBus 的区别

我经常使用greenrobot的EventBushttps://github.com/greenrobot/EventBus但我刚刚意识到Guava有自己的EventBuscom.google.common.eventbus.EventBus有人知道是否有很大差异吗? 最佳答案 两者都是优质的库。这是一个comparison(从greenrobot开发人员的角度来看)介于greenrobotEventBus和Otto(来自Guava的fork,专门用于android)。我个人比较喜欢EventBus,因为它支持后台线程传递

Guava Cache 介绍

Guava是Google提供的一套Java工具包,而GuavaCache是该工具包中提供的一套完善的JVM级别高并发缓存框架;本文主要介绍它的相关功能及基本使用,文中所使用到的软件版本:Java1.8.0_341、Guava32.1.3-jre。1、简介缓存在很多情况下非常有用。例如,当某个值的计算或检索代价很高,并且你需要在特定输入下多次使用该值时,就应该考虑使用缓存。GuavaCache与ConcurrentMap类似,但并不完全相同。最基本的区别在于,ConcurrentMap会一直保存所有添加到其中的元素,直到显式地将它们删除。而GuavaCache通常会配置自动删除条目,以限制其内存

java - 使用 Spring-Data 在 MongoDB 中保存和加载 Guava Optional<?>

如何调整GuavaOptional(或之后的JDK8Optionals)与Spring-Data-MongoDb的映射?例如,下面的类应该像下面的json一样映射。@DatapublicclassTest{OptionalstringOptionalNull=null;OptionalstringOptionalAbsent=Optional.absent();OptionalstringOptionalPresent=Optional.of("ExampleValue");}Json(注意:Null和absent情况的处理方式相同):{"stringOptionalPresent":

Google 开源库Guava详解

一、概述Guava是一组来自Google的核心Java库,包括新的集合类型(如多映射和多集)、不可变集合、图库和并发、I/O、哈希、原语、字符串等实用程序!它广泛用于Google中的大多数Java项目,也被许多其他公司广泛使用。Guava 开发要求 :JRE风格需要JDK1.8或更高版本。如果您需要支持Android,请使用Android风格。您可以在Android目录中找到AndroidGuava源代码。guavagithub开源地址:GitHub-google/guava:https://github.com/google/guava官网用户手册:https://github.com/go

java - 为什么 ImmutableMap.builder().build() 没有选择正确的类型参数?

为什么Maptest=ImmutableMap.builder().build();编译失败,但是Maptest=ImmutableMap.builder().build();工作正常吗?第一个代码片段失败:error:incompatibletypesMaptest=ImmutableMap.builder().build();^required:Mapfound:ImmutableMap我相信Guava提交者的本意是为了让它发挥作用。 最佳答案 这不是Guava的失败,而是Java解析泛型的方式,这是我们无法控制的。=(相信我们

【java缓存、redis缓存、guava缓存】java中实现缓存的几种方式

一、通过HashMap实现缓存这种方式可以简单实现本地缓存,但是实际开发中不推荐使用,下面我们来实现一下这种方式。首先创建一个管理缓存的类publicclassLocalCache{publicstaticHashMapString,String>cache=newHashMap>();static{Stringname=1+"-"+UUID.randomUUID().toString();LocalCache.cache.put(String.valueOf(1),name);System.out.println("id为"+1+"的数据添加到了缓存");}}这个类中有一个静态代码块,静态代