在我的Swing应用程序中,用户必须在切换到下一个窗口之前插入数字和值。现在,作为一个干净的程序,我会检查每个输入是否有效,如果无效,则会显示一条错误消息,并且不会打开下一个窗口。此检查的结构如下(示例):ButtonbuttonToOpenNextWindow=newJButton("next");button.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEvente){if(checkValidty){//(...)newWindowA();frame.dispose();//(*)}}
我们有几种产品具有很多共享的代码,并且必须保持几个版本。为了解决这个问题,我们使用了许多Eclipse项目,一些包含库jar,一些包含共享源代码(在一些项目中,是为了避免获得具有大量依赖项的巨大堆,同时能够从头开始编译所有内容,以确保源和二进制文件是持续的)。我们使用projectSet.psf来管理这些项目,因为它们可以直接从CVS中提取所有项目并留下一个充分准备的工作区。我们不直接构建或使用Maven。现在,我们希望能够将所有这些项目及其各个版本放入一个ContinuousIntegration工具中(我喜欢Hudson,但这只是一个口味问题),这实际上意味着我们需要一种自动方式来
我需要检查方法第一个参数的类型是List>或不。有人能提出比将它与字符串进行比较更好的解决方案吗?Methodm=Foo.class.getMethod("m1",List.class);if(m.getGenericParameterTypes()[0].toString().equals("java.util.List>")){...}我的意思是这样的:List.class.isAssignableFrom((Class)((ParameterizedType)m.getGenericParameterTypes()[0]).getRawType()));检查它是否是一个列表。但是
在我的应用程序中,我将数字处理为BigDecimal,并将它们存储为NUMBER(15,5)。现在我需要在Java上正确检查BigDecimal值是否适合该列,这样我就可以在不执行SQL、捕获异常和验证供应商错误代码的情况下生成正确的错误消息。我的数据库是Oracle10.3,此类错误导致error1438.谷歌搜索后,我找不到这样的代码,所以我想出了自己的代码。但我对这段代码真的很不满意……简单,但同时简单到让人怀疑它的正确性。我用许多值、随机值和边界对其进行了测试,它似乎有效。但由于我对数字真的很糟糕,所以我想要一些更健壮且经过良好测试的代码。//noconstantsforeas
给定像/a/./b/c/../d这样的路径,我想删除所有“当前目录”指示符(即句点)和“父目录”指标(即..),给出a/b/d。我可以使用File.getCanonicalPath(),但这也会解析我不想要的符号链接(symboliclink)。有什么简单的方法吗?也就是说,比编写分词器并自行处理更简单。如果您能告诉我“.”的正确名称,可加分和'..'在这种情况下。 最佳答案 Guava也有这个作为Files.simplifyPath(String).不过,您最好的选择(如果您可以使用JDK7)是将您的路径表示为Path并使用Pat
我一直在我的Java代码中使用大量防御性空值检查。尽管它们很好地达到了目的(大部分时间),但它们与“丑陋”的代码进行了巨大的权衡。一直放入这些空检查真的有意义吗?例如:if(object==null){log.error("...")thrownewSomeRuntimeException("");}else{object.someMethod();}实际上,上面这段代码等同于语句object.someMethod();如果object的值为null,则在这两种情况下都会抛出异常(后面的NullpointerException)。屏蔽NullpointerExcetion(NPE)并抛
我需要在并发环境中延迟加载资源。加载资源的代码应该只执行一次。两者都是Double-checkedlocking(使用JRE5+和volatile关键字)和Initializationondemandholderidiom似乎很适合这份工作。仅通过查看代码,按需初始化持有人惯用语似乎更清晰、更高效(但是,嘿,我在这里猜测)。尽管如此,我仍将不得不注意并记录我的每个单例的模式。至少对我来说,很难理解为什么当场写成这样的代码......我的问题是:哪种方法更好?为什么?如果你的答案是否定的。您将如何在JavaSE环境中满足这一要求?备选方案我可以为此使用CDI而不是将它强加于我的整个项目吗
我有一台开发机器,我之前在上面安装了Tomcat,然后以进行开发工作的同一用户身份运行它。我在$CATALINA_HOME/webapps中放置了一个符号链接(symboliclink)到我构建WAR的目录,每次更新构建时,tomcat都会遵循符号链接(symboliclink)并提取新的WAR。从来没有任何问题。但是为了准备将它转移到生产机器上,我创建了一个具有受限权限的新用户,并将tomcat设置为以该用户身份运行,就像出于安全原因所做的那样。现在tomcat不再遵循符号链接(symboliclink),即使我将WAR文件的用户所有权授予它的用户并将权限设置为777。我没有看到ca
我在用Java创建指向目录的符号链接(symboliclink)时遇到问题。我正在使用Files类中的createSymbolicLink()方法:http://docs.oracle.com/javase/7/docs/api/java/nio/file/Files.html绝对路径:目标:/some/path/target链接:/some/path/xxx/linkname我希望在目录/some/path/xxx/中创建到文件夹/some/path/target的链接,而不是从/some/path/xxx/linkname到/some/path/xxx/target被创建。我只是不
我正在使用Netbeans7.1.1和Glassfish3.1.2服务器。作为JPA提供者,我决定使用Netbeans附带的eclipse-link2.3.0。因为我想使用惰性抓取并且我的项目包含大约45个JPA实体类,它们之间确实有很多关系,所以我决定使用静态编织。此外,@Entity类位于单独的类库项目中,而persistence.xml位于EJB项目中。我已经按照此处的说明进行操作:http://wiki.eclipse.org/EclipseLink/UserGuide/JPA/Advanced_JPA_Development/Performance/Weaving/Stati