JAXB编译器将xs:boolean绑定到Java布尔包装类,而不是布尔基元类型

我正在将项目从JAXB 1.0迁移到JAXB 2.1,我遇到了数据类型映射问题。 我正在使用Ant xjc绑定编译器,并且我已经成功配置了全局绑定,例如xs:date映射到java.util.Calendar 。 但是我得到的生成方法返回Boolean ,而我想要boolean 。 这是复杂的类型: 生成的类看起来像这样: public class UsageAuthRateCharge { …….. public Boolean isPricepointCustomFieldsRequired() { return pricepointCustomFieldsRequired; } 问题是虽然装箱会起作用,但如果提供的XML不包含pricepoint_custom_fields_required的值,则类的布尔字段为空,而不是false。 这样做的时候我得到NullPointerExceptions : methodWhichTakesPrimitiveBooleanArg(myUsageAuthRateChargeInstance.isPricepointCustomFieldsRequired()); 因为它试图取消传入的布尔值 – 除了它为空。 我无法更改架构,我无法调整所有客户端代码来进行空检查。 我在binding.xml中设置了optionalProperty属性,如下所示: 在规范中,它说:“如果属性的值是”原始的“,它会像在JAXB 1.0中那样绑定” 然而,这显然没有发生。 我怎么解决这个问题? 更新: 这现在在jaxb 2.2.9中修复: https ://java.net/jira/browse/JAXB/fixforversion/16850

java Fork / Join池,ExecutorService和CountDownLatch

我们在java中有三种不同的multithreading技术 – Fork / Join池,Executor Service和CountDownLatch Fork / Join pool ( http://www.javacodegeeks.com/2011/02/java-forkjoin-parallel-programming.html ) Fork / Join框架旨在使分而治之的算法易于并行化。 这种类型的算法非常适合于可以分为两个或更多相同类型的子问题的问题。 他们使用递归将问题分解为简单的任务,直到这些变得足够简单直接解决。 然后组合子问题的解决方案以给出原始问题的解决方案 ExecutorService是一个扩展Executor类并表示异步执行的接口。 它为我们提供了管理结束和检测异步任务进度的机制。 invokeAll() :执行给定的任务,返回一个Futures列表,保存状态和结果全部完成。 Future.isDone()对于返回列表的每个元素都为true。 CountDownLatch 🙁 http://examples.javacodegeeks.com/core-java/util/concurrent/countdownlatch-concurrent/java-util-concurrent-countdownlatch-example/ ) CountDownLatch用于同步,以允许一个或多个线程等待,直到在其他线程中执行的一组操作完成。 我的假设: 在这两种替代方案中,只有在完成所有任务/线程后才能知道最终结果。 这三种选择是互补的还是互补的 ?

Java中的SSL证书validation

假设我有两个我写的Java应用程序: Ping.jar和Pong.jar ,它们被部署并在两个独立的服务器上运行( Ping.jar部署到srv-01.myorg.com , Pong.jar部署到srv-02.myorg.com ),这两个应用程序需要通过SSL相互通信(双向)。 我们还假设每个应用程序都有自己的SSL证书。 作为Java程序员,我如何编写Ping和Pong代码以validation彼此的SSL证书? 每个CA都提供某种RESTful API,我可以使用HttpClient吗? Java是否有自己的证书validationAPI? 是否有我可以使用的开源第三方JAR或服务? 当我在网上搜索这个时,我感到很惊讶。

自定义锁屏实现技术

所以,我一直在网站上探索许多类似的问题( 这个 , 这个和这个以及更多)。 人们想要实现自己的自定义锁定屏幕(不是谈论小部件)。 到目前为止,用户正在使用两种实现技术。 主屏幕更换 。 在这种技术中,它建议创建一个主屏幕应用程序,在解锁逻辑后,默认屏幕显示。 我相信在这种情况下,开发人员必须在锁定屏幕可见时禁用“主页”,“搜索”,“菜单”和“返回”按钮,并实现屏幕关闭逻辑。 一个申请 。 在这种技术中,制作了一个普通的应用程序,在解锁逻辑之后显示默认屏幕。 我相信在这种情况下,开发人员必须在锁定屏幕可见时禁用“主页”,“搜索”,“菜单”和“返回”按钮,并实现屏幕关闭逻辑。 现在,我不明白两种方法有什么区别? StackOverflow社区似乎更多地强调主屏幕替换技术。 我对Android开发很陌生,所以我可能会错过一些关于它的方面。 请建议我应该使用哪种方法,为什么? (还有,哪个很容易?)。 非常感谢!

使用reflection创建新对象?

给定类值: public class Value { private int xVal1; private int xVal2; private double pVal; // constructor of the Value class public Value(int _xVal1 ,int _xVal2 , double _pVal) { this.xVal1 = _xVal1; this.xVal2 = _xVal2; this.pVal = _pVal; } public int getX1val() { return this.xVal1; } … } 我正在尝试使用reflection创建该类的新实例: 来自Main: …. // some code …. […]

java中的2的补码hex数到十进制数

我有一个hex字符串代表一个2的补数。 是否有一种简单的方法(库/函数)将hex转换为十进制而不直接使用它的位? EG这是左侧hex给出的预期输出: “0000” => 0 “7FFF” => 32767 (max positive number) “8000” => -32768 (max negative number) “FFFF” => -1 谢谢!

在Java中返回多个值的最佳实践?

今天我在登录表单后面添加了额外的安全检查,以减缓暴力攻击。 我有多个登录表单,并且做了一个很好的易于调用的函数,它执行所有检查,然后返回结果。 public static ValidateLoginResult validateLogin(HttpServletRequest request, String email, String password) { 问题是结果不是单个值,结果包括: boolean ok String errorMessage boolean displayCaptcha 为此,我创建了一个新类。 一切正常。 但是我经常使用方便的实用程序函数返回多个值,并且开始发现每次为结果创建一个新类有点烦人。 有没有更好的方法来返回多个值? 还是我只是懒惰? 🙂

包含动态属性值的文件

我有一个Java thgat需要使用的项目; 将文件包含到当前的jsp页面中。 但是,我现在需要content.jsp是动态的。 如何用变量替换引号中的所有内容? 所以;

在类中使用Optional作为属性是一个好习惯吗?

我在Java 8中读过一些关于Optional的目的(遗憾的是我不记得在哪里),我很惊讶作者没有提到在类中使用Optional作为属性。 由于我在课堂上经常使用选项,我想知道这是不是很好。 或者我可以更好地使用普通属性,当它们未设置时返回null ? 注意:看起来我的问题可能是基于意见的,但我觉得在课堂上使用Optional是不可取的(在阅读上述post后)。 但是,我喜欢使用它,并且找不到使用它的任何缺点。 例 我想举一个例子来澄清。 我有一个类Transaction ,它是这样构建的: public class Transaction { private Optional = Optional.empty(); …. VS public class Transaction { private Customer = null; …. 在检查Customer ,我认为使用transaction.getCustomer().isPresent()比使用transaction.getCustomer() != null更合乎逻辑。 在我看来,第一个代码比第二个代码更清晰。

使用maven和jetty创建一个可执行jar

我想使用jetty启动我的应用程序,所以我添加了下面提到的依赖项。 当我运行主方法Jetty成功启动。(我正在开发一个struts2 + spring3 + hibernate maven项目,我也可以在tomcat中部署它) 现在我想从战争包装pom创建一个可执行jar。 所以我在我的pom中添加了maven-assembly-plugin 。 (我尝试使用maven jar插件,但它没有添加依赖项) 来源 插件 maven-war-plugin 2.3 com.dca.engine.StartDCA WEB-INF/lib/jetty*.jar,WEB-INF/lib/org.apache.taglibs.standard.glassfish*.jar,WEB-INF/lib/org.apache.jasper.glassfish*.jar,WEB-INF/lib/org.eclipse.jdt.core*.jar,WEB-INF/lib/javax.servlet.jsp*.jar,WEB-INF/lib/javax.el*.jar \ org.apache.maven.plugins maven-assembly-plugin 2.4 jar-with-dependencies com.dca.engine.StartDCA make-assembly package single src/main/java **/*.java **/*.xml src/main/resources true 嵌入式Jetty org.eclipse.jetty jetty-server 8.1.10.v20130312 org.eclipse.jetty jetty-webapp 8.1.10.v20130312 <!– provided –> org.eclipse.jetty jetty-jsp 8.1.10.v20130312 <!– provided –> 主要方法 Server server = new Server(8080); System.setProperty(“is_DCA”, […]