草庐IT

guava-jdk

全部标签

java - 如何在 java 8 stream api 中使用 guava Predicates 作为过滤器

GuavaPredicates不能开箱即用作为java8流API的过滤器。例如这是不可能的:Numberfirst=numbers.stream().filter(com.google.common.base.Predicates.instanceOf(Double.class))).findFirst().get();如何将guava谓词转换为java8谓词,如下所示:publicstaticPredicatetoJava8(com.google.common.base.PredicateguavaPredicate){return(e->guavaPredicate.apply(e

java - 谷歌 Collection ( Guava 图书馆): ImmutableSet/List/Map and Filtering

假设您要构建一个ImmutableSet/List/Map对象的副本,但要过滤掉一些原始条目。一种实现方法如下:ImmutableList.copyOf(Iterables.filter(myObject,myObject.EQUALS));其中myObject.EQUALS是Iterables.filter()操作的谓词。我认为这是一个非常优雅且易于阅读的实现。然而,构建两个列表对象(第一个通过Iterables.filter(...)调用,第二个通过ImmutableList.copyOf(...))是非常低效的.有人知道更有效的方法吗?我想最好的办法是向ImmutableSet/

java - Guava 的 Verify 的目的是什么?

com.google.common.base.Verify的目的是什么?当我们有com.google.common.base.Preconditions?Verify类看起来不错,但它有一个@Beta注释,我应该使用它吗? 最佳答案 Torquestomp的回答是错误的(虽然它在当时可能是正确的,但我不知道)。请参阅gauva的wiki条目:Kindsofconditionalfailures.先决条件Apreconditioncheckensuresthatthecallerofapublicmethodhasobeyedther

java - Guava 为什么 toStringFunction 不是泛型函数?

GuavatoStringFunction()具有以下声明:publicstaticFunctiontoStringFunction(){...}Object的所有非原始根,因此该函数运行良好。但是当我尝试将它与另一个函数组合时,例如:Functionf1=Functions.compose(Functions.forMap(someMap),Functions.toStringFunction());其中someMap变量是一个map,所以我希望toStringFunction将Integer转换为String,然后forMap将String转换为Double。但是我得到一个编译器错

java - Guava Collection : limit permutation size

使用guava12Collections2.permutations(),我想知道是否可以限制排列的大小?更准确地说,我想获得n元素列表中的k大小排列的列表,而不是获取所有n大小排列的列表。目前,如果我传递一个包含4个水果的列表,permutations()当前将返回一个包含24个4大小排列的列表,尽管我只对检索感兴趣,例如,4个独特的大小为3的排列。假设我有一个包含4种水果的list:["Banana","Apple","Orange","Peach"]如果我只对大小3排列感兴趣,我希望返回以下内容:["Banana","Apple","Orange"]["Banana","Appl

java - Guava Joiner 没有前缀和后缀的能力

这个问题在这里已经有了答案:Isthereawaytojoinstrings,eachwithaspecificsurroundingstring?(3个答案)关闭8年前。我要求Joiner能够为元素添加前缀和后缀。例如Stringstr[]={"a","b","c"};Joiner.on(",").prefix("'").suffix("'").join(str);预期输出为:'a','b','c'对此我们有什么替代方案吗?因为Guava不这样做(或者我不知道)。使用Java8有更好的选择吗?

java - 从 JDK 1.5 到 1.6 的代码迁移

将代码从JDK1.5迁移到1.6需要遵循哪些步骤。遵循的步骤:将项目的buildPatch改为JDK1.6将编译器更改为6清理和部署项目我收到编译错误***ERROR***:ThuApr0105:17:06PDT2010org.eclipse.jst.j2ee.commonarchivecore.internal.exception.DeploymentDescriptorLoadException:WEB-INF/web.xmlStacktraceofnestedexception:java.lang.ClassCastException:org.eclipse.jst.javaee

java - 使用 Guava 的最佳方式

您认为使用Guava的最佳方式是什么?因为,在网站上,这些人说接口(interface)在发布1.0之前可能会发生变化。考虑到这一点,您编写的代码不应直接依赖于这些接口(interface),因此,您是否将调用的所有Guava代码包装到我们项目中的某种层或外观中,以便如果这些接口(interface)发生变化,那么您至少将这些更改集中在一个地方?走哪条路最好?我真的很想开始使用它,但我有这个问题,哈哈:) 最佳答案 我不确定您从哪里得知接口(interface)在1.0版之前会发生变化。Guava的前身GoogleCollectio

java - Guava 中 ForwardingMap 的用途是什么?

按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭9年前。我正在为理解ForwardingMap的使用而绞尽脑汁?什么情况下可以用到?

macos - 无法在 Mac OS X (Mountain Lion 10.8.4) 上卸载 Java 7 JDK

我尝试搜索了几个小时,试图弄清楚如何在我的Mac上卸载Java7JDK,因为它不断使Eclipse和一些Minecraft模组包崩溃。我试图恢复到Java6JDK而不是Apple提供的。我尝试查看Oracle的站点以找出解决问题的方法。如果您向下滚动到页面底部,您会看到它告诉您使用sudo进行卸载的位置。我在Library中找不到Java文件夹,我也尝试在Finder中使用“转到文件夹”功能,但似乎找不到它。我也尝试通过终端,但仍然找不到该文件夹​​。似乎以前没有其他人遇到过这个问题。我在论坛网站上问过,但找不到答案。请尽快回复!http://docs.oracle.com/javas