Tag: java

我怎样才能创build一个数组stream?

目前,无论何时我需要从数组创buildstream,我都这样做 String[] array = {"x1", "x2"}; Arrays.asList(array).stream(); 有一些直接的方法来创build数组的stream?

从Hotmail Gmail的雅虎在java中的联系人列表?

大多数社交networking都这样做。 当你注册其中的一个例如Twitter时,它说为什么不邀请你的朋友从Hotmail或雅虎或Gmail。 并期望我们给我们的凭据,并发送这些邮件。 我想在java中实现相同的function。 我试过http://code.google.com/p/contactlistimporter,但是它有一个hotmal的问题。 你能build议我另一个图书馆吗?

如何根据其值对树图进行sorting?

我怎样才能使用它的值而不是键来sorting树图?

在另一个较大的数组中查找数组

最近我被要求写一个工作3个testing程序。 他们将只使用核心Java API和我select的任何testing框架来编写。 unit testing应在适当的地方执行。 虽然我还没有收到任何反馈,但我想他们不喜欢我的解决scheme(否则我会听到他们的),所以我决定在这里展示我的程序,询问这个实现是否可以被认为是好的,如果不是,那为什么? 为了避免混淆,我现在只会问第一个。 实现一个在另一个更大的数组中find数组的函数。 它应该接受两个数组作为参数,它将返回第一个数组第一个完全出现的第一个数组的索引。 例如,findArray([2,3,7,1,20],[7,1])应该返回2。 我没有试图find任何现有的解决scheme,而是想自己做。 可能的原因:1.应该是静态的。 2.应该使用行注释,而不是块注释。 3.没有先检查空值(我知道,只是发现太晚了)。 4.? 更新 : 有很多原因已经提出,我很难select一个答案,因为许多答案都有一个好的解决scheme。 正如@adietrich所提到的,我倾向于相信他们希望我展示核心API的知识(他们甚至要求编写一个函数,而不是写一个algorithm)。 我相信确保工作的最好方法是尽可能多的提供解决scheme,包括:1.使用Collections.indexOfSubList()方法实现,以显示我知道核心集合API。 2.使用暴力方法实施,但提供更优雅的解决scheme。 3.使用searchalgorithm实现,例如Boyer-Moore。 4.使用System.arraycopy()和Arrays.equal()的组合来实现。 然而,在性能方面不是最好的解决scheme,它会显示我对标准数组例程的知识。 谢谢大家的回答! 更新结束。 这是我写的: 实际计划: package com.example.common.utils; /** * This class contains functions for array manipulations. * * @author Roman * */ public class ArrayUtils { /** * Finds a sub array […]

Java的叉/join与ExecutorService – 何时使用?

我刚读完这篇文章: Java-5 ThreadPoolExecutor比Java-7 ForkJoinPool有什么优势? 觉得答案不够直白。 你能用简单的语言和例子来解释一下,Java 7的Fork-Join框架和旧的解决scheme之间的权衡是什么? 我还读了关于Java技巧的Java #1的命中:什么时候使用来自javaworld.com的 ForkJoinPool vs ExecutorService ,但文章没有回答标题问题时 ,它主要谈论API差异…

将string拆分成句子

我写了这段代码拆分一个string,并将其存储在一个string数组中: – String[] sSentence = sResult.split("[az]\\.\\s+"); 但是,我已经添加了[az],因为我想处理一些缩写问题。 但是,我的结果显示如下: – 此外,当埃弗里特试图指导他们的基础math,他们certificate没有反应 我看到我失去了在分割函数中指定的模式。 我可以失去这个时期,但丢失这个词的最后一个字母会扰乱它的意义。 有人可以帮我解决这个问题,另外,有人可以帮我处理缩写吗? 例如,因为我基于句点分割string,所以我不想丢失缩写。

java.rmi.NoSuchObjectException:表中没有这样的对象

我正在编写一个非常简单的RMI服务器,并且在unit testing中看到了间歇性的java.rmi.NoSuchObjectExceptions 。 我在同一个对象上有一串远程方法调用,而最初的几个经过,后面的有时会失败。 我没有做任何事情来注销之间的服务器对象。 这些错误并不总是出现,如果我把它们放在断点,他们往往不会出现。 这些Heisenbugs,当它们通过debugging器的执行速度减慢来看待它们时,它们的竞争状态会消失吗? 在我的testing或服务器代码中没有multithreading(虽然也许在RMI堆栈里面)? 我通过Eclipse的JUnit插件在Mac OS X 10.5(Java 1.5)上运行此操作,并且RMI服务器和客户端都在同一个JVM中。 什么会导致这些exception?

什么是最准确的编码检测器?

经过一番调查,我发现java世界里有几个编码检测项目,如果InputStreamReader中的getEncoding不起作用: juniversalchardet jchardet cpdetector ICU4J 但是,我真的不知道哪一个是最好的。 任何人都可以通过亲身体验告诉我哪一个是Java中最好的?

猜测在Java中表示为byte 的文本的编码

给定一些代表某些未知编码(通常是UTF-8或ISO-8859-1,但不一定如此)的文本的字节数组,最好的方法是获得最可能使用的编码(在Java中)的猜测? 值得注意: 没有额外的元数据可用。 字节数组实际上是唯一可用的input。 检测algorithm显然不是100%正确的。 如果algorithm在80%以上的情况下是正确的,那就足够了。

可重置Java定时器

我想在java.I中有一个java.utils.Timer可重置的时间需要设置一个一次性的事件发生在X秒。 如果在创build定时器和X秒之间没有任何事情发生,那么事件正常发生。 但是,如果在X秒之前,我决定事件发生在Y秒后,那么我希望能够告诉定时器重置它的时间,以便在Y秒内发生事件。 例如计时器应该能够做到这样的事情: Timer timer = new Timer(); timer.schedule(timerTask, 5000); //Timer starts in 5000 ms (X) //At some point between 0 and 5000 ms… setNewTime(timer, 8000); //timerTask will fire in 8000ms from NOW (Y). 我没有看到使用utils定时器的方法,就像调用cancel()一样,你不能再调度它。 我接近复制这种行为的唯一方法是使用javax.swing.Timer并涉及到停止原始计时器,并创build一个新的。 即: timer.stop(); timer = new Timer(8000, ActionListener); timer.start(); 有没有更简单的方法?