java - 如何使用 java.util.Optional 生成 JaxB 类?

标签 java xsd jaxb maven-jaxb2-plugin

我使用 jaxb2-maven-plugin 从给定的 XSD 生成 JaxB 类。 它工作正常。 但是现在我想在生成的类中使用 java.util.Optional。但是 JaxB 生成了没有 Optionals 的类。所以我不得不对每个变量进行空检查。

有人知道如何配置 jaxb2-maven-plugin 以使用 java.util.Optional 吗?

谢谢你的帮助!

最佳答案

也许您可以找到更通用的东西,但我不确定这是否可行。 无论如何,您仍然可以为您希望成为可选的类型定义自定义适配器。

这是一个整数的例子

首先,创建一个Adapter

public final class IntegerOptionalAdapter extends OptionalAdapter<Integer>
{
} 

然后在你的绑定(bind)中使用这个适配器

@XmlAttribute
@XmlJavaTypeAdapter(IntegerOptionalAdapter.class)
private Optional<Integer> someInteger;

关于java - 如何使用 java.util.Optional 生成 JaxB 类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38222802/

相关文章:

java - 使用 apache common Email 使用 "on behalf of"发送电子邮件

java - 如何在生产中安全地更改 session cookie 域或名称?

xsd - XML模式;有效属性值列表中的倍数

java - 解码 XML Java JAXB

java - 如何使用 jaxB 或任何其他更好的方法将 xml 属性值映射到 java 类属性?

java - JAXB:编码时多态性和忽略类作为类型

java - Spark 使用编码器创建数据集,其中 row 是数组类型

java - java中不同的方法调用

java - JAXB2,如何根据包含 xsd :any element? 的 XML 架构进行部分验证

java - 异常 : cvc-type. 3.2.2:模式定义中的异常