Tag: java

java.util.Collection的经典集合操作

在java.util.Collection类中是否有经典集合操作的内置function? 我的具体实现是ArrayList,但是这听起来像应该适用于Collection的所有子类。 我正在寻找像这样的东西: ArrayList<Integer> setA … ArrayList<Integer> setB … ArrayList<Integer> setAintersectionB = setA.intersection(setB); ArrayList<Integer> setAminusB = setA.subtract(setB); 经过一番search,我只能find本土解决scheme。 此外,我意识到我可能会混淆“集合”的想法与“集合”的想法,不允许和允许分别重复。 也许这只是Set接口的function? 如果没有人知道任何内置的function,也许我们可以使用它作为标准实践Java集操作代码的存储库? 我想这个轮子已经被重新改造了很多次。

附上Java源代码

我不能为了我的生活附加到eclipse java源代码,所以我可以看到语言的内部运作。 甚至不像String类那么简单。 当我运行java -version时,这是我所拥有的: java version "1.6.0_14" Java(TM) SE Runtime Environment (build 1.6.0_14-b08) Java HotSpot(TM) Client VM (build 14.0-b16, mixed mode, sharing) 我正在从http://download.java.net/jdk6/source/下载java源代码 并在日食时,我附上它说: The JAR file "C:\Program Files\Java\jre6\jdk-6u14-fcs-src-b08-jrl-21_may_2009.jar" has no source attachment. 我究竟做错了什么?

如何为Junitunit testing设置JVM参数?

我有一些需要大量堆空间运行的Junitunit testing – 例如1G。 (他们testing的webstart应用程序的内存密集型function只能运行足够的堆空间,并将在Win 7 64位机器上运行,因此重新devisetesting并不是一个实际的build议。) 我正在开发Intellij IDEA,所以我知道我可以为testing类设置JVM参数(例如-Xmx1024M)。 然而,这只是运行整个testing类 – 如果我想运行一个单独的testing,我必须重新创build该testing方法的运行configuration。 另外,这些都是IDE和盒子特定的 – 所以如果我切换盒子(我在多台机器上开发)或者我的一个同事试图运行testing,那些设置不会被传输。 (另外,我的同事也使用Eclipse和NetBeans等其他IDE。)FWIW,我们使用mercurial进行源代码控制。 对于构build周期,我们使用Maven,所以我知道如何为它指定JVM参数。 所以: – 我正在寻找一种方法来指定适用于整个testing类和单个testing方法的JVM参数; 并且 – 我想在任何机器上的IDE上分享这些规范(从存储库中获取代码)。

我到底能在哪里下载最新版本的Scene Builder for Java?

我search了Oracle的网站,找不到要下载的实际可执行文件。 我得到指向旧版本的站点,或者改为使用Scene Builder的源代码。 我正在寻找最新版本的Scene Builder的实际的Windows / Mac可执行文件安装程序。

使用EL与JSTL访问枚举值

我有一个名为状态的枚举定义如下: public enum Status { VALID("valid"), OLD("old"); private final String val; Status(String val) { this.val = val; } public String getStatus() { return val; } } 我想从JSTL标签访问VALID的值。 具体来说就是<c:when>标签的test属性。 例如 <c:when test="${dp.status eq Status.VALID"> 我不确定这是否可能。

BigDecimal equals()与compareTo()

考虑简单的testing类: import java.math.BigDecimal; /** * @author The Elite Gentleman * */ public class Main { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub BigDecimal x = new BigDecimal("1"); BigDecimal y = new BigDecimal("1.00"); System.out.println(x.equals(y)); System.out.println(x.compareTo(y) == 0 ? "true": "false"); } } 你可以(有意识地)说x等于y (不是对象引用),但是当你运行这个程序时,下面的结果显示: false true 问题: […]

catch块内抛出的exception – 它会再次被捕获吗?

这可能看起来像一个编程101的问题,我以为我知道答案,但现在发现自己需要仔细检查。 在下面这段代码中,第一个catch块中抛出的exception会被下面的一般Exception catch块捕获吗? try { // Do something } catch(IOException e) { throw new ApplicationException("Problem connecting to server"); } catch(Exception e) { // Will the ApplicationException be caught here? } 我一直认为答案是否定的,但现在我有一些奇怪的行为,可能是由此造成的。 对于大多数语言来说,答案可能是相同的,但是我正在使用Java。

以编程方式启动OSGi(Equinox)?

我想能够轻松地启动一个OSGi框架(最好是Equinox),并加载从我的POM中列出的任何包从一个Java主。 这可能吗? 如果是这样,怎么样? 看来像pax工具会这样做,但我似乎无法find任何文件指出这样的。 我知道我可以像这样开始Equinox: BundleContext context = EclipseStarter.startup( ( new String[] { "-console" } ), null ); 但我想做更多 – 就像我说的:加载更多的包,也许开始一些服务等。

在'公共静态无效的主要(string ARGS)'的'stringargs '和静态的解释'

你怎样才能解释得很好,对初学者来说 , String args[]的含义和static的使用在下面的摘录中? class FirstApp { public static void main(String[] args) { … } }

Java中的最终variables操作

任何人都可以告诉我什么是Java的上下文行的意义: finalvariables仍然可以被操纵,除非它是不可变的 据我所知,通过声明任何variables为最终的,你不能再改变它,那么它们对于上面那行不可改变的单词意味着什么?