草庐IT

guava-libraries

全部标签

java - Guava:copyOf() 方法的 ImmutableList 魔法

想感受一下Guavaguava-libraries的copyOf()方法的“魔力”。有一个我用来检查它的小应用程序。这是documentation:TheJDKprovidesCollections.unmodifiableXXXmethods,butinouropinion,thesecanbeunwieldyandverbose;unpleasanttouseeverywhereyouwanttomakedefensivecopiesunsafe:thereturnedcollectionsareonlytrulyimmutableifnobodyholdsareferenceto

java - 将额外的(第二个)参数传递给 Guava Predicate

我有这个Predicate,它根据日期过滤我的Task对象:PredicatestartDateFiltering=newPredicate(){@Overridepublicbooleanapply(Taskinput){returninput.getStartDate()!=null&&input.getStartDate().after(date);}};只要date变量在上下文中可访问,使用它就没有问题。但是,我想让它可重用并将其嵌入到Task类本身中,执行如下操作:publicstaticfinalPredicatestartDateFiltering=newPredicat

java - 为什么 Google Guava Preconditions 的 checkArgument 不返回值?

我真的很喜欢guava库如何允许使用简单的一行代码来检查null:publicvoidmethodWithNullCheck(StringcouldBeNull){StringdefinitelyNotNull=checkNotNull(couldBeNull);//...}遗憾的是,对于简单的参数检查,您至少需要两行代码:publicvoidmethodWithArgCheck(StringcouldBeEmpty){checkArgument(!couldBeEmpty.isEmpty());StringdefinitelyNotEmpty=couldBeEmpty;//...}然

java - Guava TypeToken 和泛型类

我正在使用GuavaTypeToken在我的项目中上课,但我得到了意想不到的结果。我有MyGenericClass:publicclassMyGenericClassimplementsMyInterface{privateTypeTokenrecordType;publicMyGenericClass(Stringname){this.recordType=newTypeToken(getClass()){};//...}//...@SuppressWarnings("unchecked")protectedClassgetRecordType(){return(Class)reco

java - 使用 Guava 10 的谓词和函数接口(interface)与 GWT 2.4.0

GWT2.4.0和GuavaGWT10.0.1是否支持Predicate和Function?两个接口(interface)都标记为@GwtCompatible。在调试托管模式下运行项目时,我在使用Predicate时收到运行时验证错误:[ERROR][MyProject]-LineXXY:Theimportjavax.annotation.Nullablecannotberesolved[ERROR][MyProject]-LineYYY:Nullablecannotberesolvedtoatype从其他StackOverflow帖子来看,我认为这些错误不应该要求在Guava版本09

java - 创建 TessBaseAPI 时出现 UnsatisfiedLinkError : no jnilept in java. library.path

我是javacpp和tesseract-ocr的新手。我在几个小时内遇到了一个问题。我在创建TessBaseAPI时收到UnsatisfiedLinkError:nojnileptinjava.library.path。下面是我的代码片段。publicstaticvoidtesseractForPdf(StringfilePath)throwsException{BytePointeroutText;TessBaseAPIapi=newTessBaseAPI();//gettingtheUnsatisfiedLinkErrorexceptionhere.//Initializetess

java - 你能用 Guava 复制 Clojure 的(分区)或 Scala 的 sliding() 函数吗?

我有一个列表,我想以类似于Clojure的(partitionszstepcol)方法或IterableLike.sliding(size:Int,step:Int)Scala函数。具体来说,给定如下列表:(1,2,3)我希望能够像这样遍历子列表:(1,2),(2,3)在Clojure中,这将通过以下方式完成:(partition21(1,2,3))在Scala中它会是:valit=Vector(1,2,3).sliding(2)但是我没有这样的奢侈,我希望避免自己动手。Guava有一个接近的分区方法,但不提供重叠。谷歌搜索也没有结果。是否存在这样的方法,还是我必须自己动手?

java - 工厂模式 : Validating input when creating a bean (Guice/Guava)

我正在编写一个新应用,使用Guice进行依赖注入(inject),并使用Guava的先决条件进行属性验证。我正在使用工厂模式根据外部输入创建bean。问题是,验证输入的首选方式是什么?(在可维护性、清晰度等方面)让我们假设这些类:Bean.javapublicinterfaceBean{publicObjectgetFoo();}BeanImpl.javapublicclassBeanImplimplementsBean{privatefinalObjectfoo;publicBeanImpl(Objectparam){foo=param;}@OverridepublicStringg

java - Spring MVC配置+Jackson+Guava multimap

我正在为此苦苦挣扎:我们有一个带有Guavamultimap的Table类(简化代码,基本上是1个成员,2个构造函数,multimap的getter和setter):publicclassTable{privateLinkedHashMultimapfields;publicTable(){this.fields=LinkedHashMultimap.create();};publicTable(LinkedHashMultimapfields){this.fields=fields;}publicLinkedHashMultimapgetFields(){returnfields;}

java - 设置 java.library.path 进行测试

其中一个测试使用了本地库:System.loadLibrary("mylib");libmylib.so位于/usr/local/lib,所以我在配置VM选项中添加这个目录:-Djava.library.path=/usr/local/lib但是,当我使用Maven运行测试时,此行抛出UnsatisfiedLinkError:nomylibinjava.library.path在没有这个选项的情况下调用Java:/usr/lib/jvm/java-8-oracle/bin/java-Dmaven.home=/opt/idea/plugins/maven/lib/maven3-Dclas