为什么jaxb在下面生成一个名为result
的类型参数?
protected Result result;
public void setResult(Result value) {
this.approveRequestResult = (Result value);
}
public Result getResult() {
return result;
}
这个文件是由JavaTM体系结构用于XML绑定(JAXB)参考实现生成的:
protected JAXBElement<Result> result;
public void setResult(JAXBElement<Result> value) {
this.approveRequestResult = ((JAXBElement<Result> ) value);
}
public JAXBElement<Result> getResult() {
return result;
}
也许这是一个我不知道的设计模式?
当JAXB自身的值不能正确地表示XML表示时,JAXB将创建JAXBelement
类型的字段/属性。以下是一些案例:
xsd:choice
结构时,属性可以对应于相同类型(例如xsd:string
)的不同XML元素(例如foo
和bar
)。如果该值是hello world
,您是将其封送为元素foo
还是bar
.问题内容: 范例1: 输出为: 范例2: 输出: 我只是不明白为什么将saySomething设为非静态会导致第二次调用saySomething调用Cow版本而不是Animal版本。我的理解是, 这两种情况都是输出。 问题答案: 静态方法在编译时绑定到其类,并且不能多态使用。在Animal上声明“静态”方法时,该方法永远绑定到Animal类,并且不能被覆盖。静态方法绑定到Class对象,而不是Cl
我正在看宣传单。 在setTimeout中调用
问题内容: 当我运行此代码时: 我懂了 哪个是正确的,所以我的问题是为什么它将雇员改为雇员?是否可以用大写E代替雇员打印? 这是我真正想要的: 谢谢! 问题答案: 您看到的行为是标准 JAXB(JSR-222) XML名称到Java名称转换算法的结果。 您可以使用注释指定名称: 我是 EclipseLink JAXB(MOXy)的 负责人,并且我们有一个扩展名,它使您可以覆盖您可能感兴趣的默认名称
我想知道为什么下面的代码: 我被要求详细解释,但我不明白为什么输出是这样的。请有人帮帮我。
问题内容: 我使用XJC工具为XSD架构生成Java类。当我使用JAXB Marshaller将类编组为XML有效负载时,我在输出XML中缺少“ schemaLocation”参数,但在xsd文件中声明了此参数。如何在输出XML中强制执行“ schemaLocation”参数? 以下是用于代码生成的xsd模式文件的开头: 问候 问题答案: 试试这个: