草庐IT

guava-libraries

全部标签

java - 在单个表达式中解包 Guava Optional

作为也在GWT工作的Scala开发人员,欢迎补充OptionalGuava。我们最常见的用例之一Optional是从方法返回可选值时(如What'sthepointofGuava'sOptionalclass的答案所建议的那样。在scala中,我经常这样写代码:defsomeExpensiveOperation(params:Type):Option[ResultType]=...someExpensiveOperation(params).foreach({val=>doSomethingWithVal(val)})Guava的选项似乎不允许任何比这样更优雅的东西:Optionalo

java - 具有多个拆分参数的 Guava 拆分器

使用Guava,我可以将拆分设置为单个字符、字符串或正则表达式。我想要的是拆分多个输入,而不必诉诸于使用正则表达式,因为我想使用方法调用来构建分隔符。我想做的是让它让我做类似的事情:Splitter.on(',').on('.').on('|').on("BREAK").splitToList(test);因此对于输入“a,b,c.d|eBREAKf”将产生一个包含a/b/c/d/e/f的列表。这是在我正在编写的类中完成的,因此当调用最终处理数据并将其用作唯一的.on()调用时,可能会从输入构造一个正则表达式?谢谢。 最佳答案 正如

java - GWT 和 Guava 的问题

我很难让GWT与Guava一起工作。我添加了guava-r09-gwt.jar到我的类路径,和(从thisquestion复制)到我的*.gwt.xml文件。但是,我仍然收到以下错误:[ERROR]Line99:Nosourcecodeisavailablefortypecom.google.gwt.thirdparty.guava.common.collect.Lists;didyouforgettoinheritarequiredmodule?引用的行是:Listsuggs=Lists.newArrayList();如果我尝试以下inherits标签:然后GWT完全失败-在浏览器中

java - 奇怪的 Guava 代码

我在执行以下代码片段时遇到问题:prices=pricesService.getProductsByCategory(category);ListdiscountedPrices=Lists.newArrayList(Iterables.transform(prices,newFunction(){publicDoubleapply(finalDoublefrom){returnfrom*.88;}}));我知道代码的结果是什么,并且它在单元测试中是正确的,但我并不过分熟悉guava或此实现的工作方式/原因。此外,如果列表“价格”中存在空值,目前它似乎也不安全?所以我追求的是:代码工作

java - guava的ImmutableList并不是真的不可变

ImmutableList的documentationsays:Althoughthisclassisnotfinal,itcannotbesubclassedasithasnopublicorprotectedconstructors.我知道这有点牵强,但可以在com.google.common.collect包中创建ImmutableList的子类(因为它的构造函数是不是私有(private)的,而是包私有(private)的)这是可变的。从那时起,任何获得对ImmutableList引用的人都不能确定它确实是不可变的。这不会破坏ImmutableList的目的吗?

java - "Native library location"条目在 Eclipse 中有什么作用?

如果在Eclipse中添加用户定义的库,可以设置“native库位置”。此字段允许输入一些目录路径。这条路径什么时候起作用? 最佳答案 Eclipse在启动Java程序时使用此信息构建java.library.path。背景:一些Java框架依赖于native代码。此代码通常以native共享库(*.so、*.dll)的形式出现。在Java中,您可以看到具有属性native的方法。该代码将使用System.loadLibrary()加载共享库。为了使代码独立于绝对路径,您只需将共享库的名称传递给System.loadLibrary(

java - 设置 WebLogic Server 11g (10.3.6) : Native Library to read the password securely from commandline is not found 时出错

我正在尝试在Windows中为开发人员10.3.6(11g)配置我的Weblogic服务器。从自述文件中,我在以下步骤中遇到错误:CreateanewWLSdomainandstartWLS.(ItisrecommendedthatyoucreatethedomainsoutsidetheMW_HOME)Windows$mkdirC:\home\myhome\mydomain$cdC:\home\myhome\mydomain$%JAVA_HOME%\bin\java.exe-Xmx1024m-XX:MaxPermSize=128mweblogic.Server我在(C:/WebLog

java - guava-libraries : Is Objects. hashCode(Object[]) 碰撞安全吗?

在查看覆盖hashCode()的不同选项时,我被定向到GoogleGuava库中的Objects.hashCode(Object[])(javadoc).javadoc声明它委托(delegate)给Arrays.hashCode(Object[])。在许多不同的对象类型中使用此方法是否安全?这是否容易发生哈希冲突,或者这不太可能仅仅是因为容器通常只包含一种类型的对象?作为一个简单的例子,考虑以下类,publicclassStudent{privatefinalStringname;publicStudent(Stringname){this.name=name;}@Overridep

java - Guava LoadingCache - 如何处理后备存储中不存在的键

我正在使用CacheBuilder和LoadingCache实现数据库数据的内存缓存。假设客户端在缓存中查询后备存储中不存在的项目。我想让客户端知道没有找到指定键的数据。处理此问题的最佳方法是什么?在缓存中存储特殊值,表示“无数据”。不在缓存中存储任何内容并引发异常。其他想法? 最佳答案 我总是通过以下方式解决这个问题。interfaceKeyValueService{Vget(Kkey);}classCachingKeyValueService{Cache>cache;Vget(Kkey){returncache.get(key)

java - 我可以使用 Guava 的 ComparisonChain 以特殊方式处理 null 字段吗?

我有一个包含多个字段的ComplexObject,我想这样说:如果两者都存在字段x,则继续比较链中的下一个compare。如果两者都为空,则继续进行比较链中的下一个compare。如果一个为空而另一个不为空,则将空值放在最后我不知道该怎么做,因为据我所知.compare(c1.getX(),c2.getX(),Ordering.arbitrary().nullsLast())将如果对象都存在且相等,则认为它们相等如果两个对象都为空,则认为它们是相等的。有没有一种方法可以使用Guava的ComparisonChain或Ordering类来实现我想要的?或者有没有更好的方法来考虑解决这个问