草庐IT

Collection-hooks

全部标签

java - Hamcrest 平等 Collection

Hamcrest中是否有匹配器来比较集合的相等性?有contains和containsInAnyOrder但我需要equals不绑定(bind)到具体的集合类型。例如。我无法将Arrays.asList和Map.values与Hamcrestequals进行比较。提前致谢! 最佳答案 IcannotcompareArrays.asListandMap.valueswithHamcrestequals.这是因为hamcrest过于热心的类型签名。您可以进行这种相等性比较,但您需要在编译之前将List对象转换为Collection。我经

Java 关闭钩子(Hook)

我已将以下代码添加到我的程序中:Runtime.getRuntime().addShutdownHook(newThread(newRunnable(){@Overridepublicvoidrun(){System.out.println("exit");}}){});但是我没有看到消息。附加信息:我正在Java7上的NetbeansIDE中运行该程序。编辑:我忘了补充一点,有一个全局线程使程序保持Activity状态。我通过按Netbeans右下角的[x]关闭它。 最佳答案 JVM可以以有序或突然的方式关闭。关闭Hook运行以有

java - 如果从关闭 Hook 调用 System.exit 会发生什么?

我在Java中有一个相当复杂的关闭-有很多清理工作要做。特别是我试图弄清楚如何从关闭Hook线程处理错误。我的代码目前包括这个:try{returnshutdownPromise=doShutdown();}catch(Throwableexc){logger.error("Anexceptionwasthrownwhileshuttingdowntheapplication.",exc);System.exit(1);returnnull;}当我最初写这篇文章时,我基本上认为,关机错误应该直接进入exit。但是exit并不是那么低级;它调用关闭Hook。所以我想-从关闭Hook调用e

java - Freemarker 'Collection.contains' 功能

从我的Java代码中,我返回了一个Set。View需要检查Set是否包含特定字符串。我找不到任何有关Freemarker如何处理此问题的文档。有什么想法吗? 最佳答案 您可以使用seq_contains。你需要FreeMarker2.3.1${x?seq_contains("blue")?string("yes","no")}如果序列包含“blue”,这将输出yes。根据评论,如果你想在if语句中使用它这是关于它的docoBuilt-insforsequences 关于java-Free

java - Java 中是否存在有界非阻塞 Collection?

我能找到的唯一一个是BoundedFIFOBuffer,它已被弃用。还有其他的吗? 最佳答案 ApacheCommonsCollections中的BoundedFIFOBuffer(我假设这就是您所指的)并未弃用,它只是移动了包。org.apache.commons.collections中的原始版本已弃用,而是移至org.apache.commons.collections.buffer 关于java-Java中是否存在有界非阻塞Collection?,我们在StackOverflow

java - 如何使用 lambda 表达式在 Java 的一行中创建值为 0,1,2,...,N 的 int[] 或 Collection<Integer>?

我想做这样的事情:int[]seq=newint[N];for(inti=0;i...在一行中,我想知道是否可以使用lambda表达式。如果它适用于ArrayList,对我来说没问题。 最佳答案 使用IntStream.range():int[]seq=IntStream.range(0,N).toArray();或IntStream.rangeClosed()如果你想包含N:int[]seq=IntStream.rangeClosed(0,N).toArray(); 关于java-如何

java - JUnit4 : Test a shutdown hook is called

我有一个添加关闭钩子(Hook)的方法。我需要测试(通过JUnit)钩子(Hook)中执行的代码是否被调用:publicvoidmyMethod(){Runtime.getRuntime().addShutdownHook(newThread(){@Overridepublicvoidrun(){...codetotest...}});}如何在单元测试中模拟关机? 最佳答案 我认为您无法测试它。相反,只需测试您的代码在调用时是否正确运行(通过单独对其进行单元测试)。然后,相信Java会在正确的时间调用您的代码。即将代码提取到扩展Th

java - 确定 java 关闭钩子(Hook)线程中的退出状态

我想在关闭钩子(Hook)运行时确定进程的退出状态。我想要一个基于状态码(0或非零)的逻辑(例如:如果零不做任何其他非零发送警报电子邮件)你知道我怎样才能得到这些信息吗? 最佳答案 我试图覆盖SecurityManagercheckExit(intstatus)方法-如果在任何地方显式调用System.exit(status)则此方法有效-但是,当应用程序“正常”退出(无Activity线程)或错误终止VM时,它不会设置状态。importjava.io.BufferedReader;importjava.io.IOException

Java 8 流 : replace single item in streamed collection

我对使用Java8有点陌生,并且正在使用流操作(这似乎是一个很好的用例)重构一些旧代码。旧代码“有效”,但在我看来它看起来效率很低。我的问题的简短版本是我试图找到List的单个元素并将其替换为同一元素的更新版本(键是相同的,但属性每次代码都有不同的值被称为)。try{Listitems=lookup(itemCache.getKey());for(inti=0;inewItems=newArrayList(items);newItems.set(i,newObject);putIntoCache(newObject.getKey(),newItems);break;}}}catch(E

java - 什么是 Collection View ?

在使用Guava时,我一直在阅读术语查看几次集合并阅读其文档。我一直在寻找关于View在这种情况下是什么以及它是否是在Guava之外使用的术语的解释。它经常被使用here.这type来自Guava的名称中有view。我的猜测是,一个集合的View是另一个具有相同数据但结构不同的集合;例如,当我将java.util.HashSet中的条目添加到java.util.LinkedHashSet时,后者将是前者的View。对吗?有人可以给我一个公认的View定义的链接吗?谢谢。 最佳答案 另一个对象的View根本不包含它自己的数据。它的所有