草庐IT

java - 将列表的元素分组为子列表(可能使用 Guava )

我想对列表的元素进行分组。我目前正在这样做:publicstaticList>group(finalListlist,finalGroupFunctiongroupFunction){List>result=Lists.newArrayList();for(finalEelement:list){booleangroupFound=false;for(finalListgroup:result){if(groupFunction.sameGroup(element,group.get(0))){group.add(element);groupFound=true;break;}}if(

java - Guava 的 Collections.unmodifiableSet() 和 ImmutableSet 有什么区别?

ImmutableSet的JavaDoc说:UnlikeCollections.unmodifiableSet,whichisaviewofaseparatecollectionthatcanstillchange,aninstanceofthisclasscontainsitsownprivatedataandwillneverchange.Thisclassisconvenientforpublicstaticfinalsets("constantsets")andalsoletsyoueasilymakea"defensivecopy"ofasetprovidedtoyourcl

java - 在 Guava 中展平一个 Iterable<Iterable<T>>

有没有flattenGuava中的方法-或转换Iterable>的简单方法到Iterable?我有一个Multimap[sourceMultimap]我想返回键匹配某个谓词[keyPredicate]的所有值。所以目前我有:Iterable>vals=Maps.filterKeys(sourceMultimap.asMap(),keyPredicate).values();CollectionretColl=...;for(Collectionvs:vals)retColl.addAll(vs);returnretColl;我查看了Guava文档,但没有任何内容。我只是在检查我没有错过

java - Guava 库和 GWT

刚刚发现Guavalibraries项目。这些是否适用于GWT? 最佳答案 这里有更多关于如何使用(当前最新的)19.0版本的Guava来完成此操作的详细信息。Guava版本包含两个JAR,guava-19.0.jar和guava-gwt-19.0.jar。您将需要both来让Guava在您的GWT项目中工作。(在非GWT项目中,您只需要前者。)下载它们并将它们添加到您的项目中;如果您使用Maven,请使用以下依赖项:com.google.guavaguava19.0com.google.guavaguava-gwt19.0Mave

java - 使用 Google Guava 的 Objects.ToStringHelper

我在commons-lang中使用了ToStringBuilder.reflectionToString(class)来为简单的DTO实现toString()。现在我正在尝试使用GoogleGuava而不是Apache公共(public)库。我在Guava中找到了Objects.ToStringHelper。但是,如果类(class)中有很多成员,那就太冗长了。例如:@OverridepublicStringtoString(){returnMoreObjects.toStringHelper(this.getClass()).add("name",name).add("emailAd

java - Guava checkNotNull 有什么意义

这个问题在这里已经有了答案:WhyshouldoneuseObjects.requireNonNull()?(12个回答)关闭6个月前。我对Guava还是很陌生(老实说,我不是“很新”,我是该主题的新手)所以我决定浏览一些文档并在阅读本文时感到非常惊讶:com.google.common.base.Preconditions.checkNotNull(...)我不明白这种方法的意义。这意味着不是这样做:myObject.getAnything();(如果myObject为空,可能会导致NullPointerException)我应该使用checkNotNull(myObject).ge

java - 使用 Guava 配置 Spring 缓存

按照springdocumentationaboutcache我可以在我的项目中使用缓存,但是如何配置guava来定义每个缓存名称的过期时间或大小?applicationConfig.xmlFoo.java@Cacheable(value="courses",key="#user.id")publicListgetCoursesByUser(Useruser){...} 最佳答案 您可以单独配置缓存。见SpringGuavacache@BeanpublicCacheManagercacheManager(){SimpleCacheM

java - 通过 Spring 将 Google guava 缓存构建器注入(inject) bean

有人可以提供一个很好的片段来通过Springxml构造和注入(inject)Googleguava的CacheBuilder到依赖bean中吗?概括地说,我需要Spring中的一些示例来说明使用构建器模式构造对象。 最佳答案 加上CacheBuilderSpec在下一个Guava版本(版本12)中,您将能够使用CacheBuilder.from(Stringspec)在xml中创建CacheBuilderbean静态工厂方法。看起来像这样:您甚至可以使用Spring的PropertyPlaceholderConfigurer将配置字

java - Guava 的 Optional 类有什么意义

我最近读到了这个并且看到有人在使用这个类,但在几乎所有情况下,使用null会同样有效——如果不是更直观的话。有人可以提供一个具体的例子,其中Optional可以实现null无法或以更简洁的方式实现的目标吗?我唯一能想到的是将它与不接受null键的Maps一起使用,但即使这样也可以通过null值的侧面“映射”来完成.谁能给我一个更有说服力的论据? 最佳答案 Guava团队成员在这里。null的一个最大缺点可能是它在任何给定上下文中的含义并不明显:它没有说明性的名称。null表示“此参数没有值”并不总是很明显-哎呀,作为返回值,有时它表

java - maven repo 中是否提供 Guava 库?

我希望在maven存储库中找到guava-libraries。看来guava正在为google-collections库添加更多功能。 最佳答案 从r03开始​​,可以在中央Maven存储库中找到Guava版本。您可以通过将以下依赖项添加到您的POM中来包含Guava:com.google.guavaguava23.0注意:当您阅读本文时,上述版本号可能已过时。要了解最新可用版本,您可以查看here版本于2017年10月19日更新。 关于java-mavenrepo中是否提供Guava库