当前位置: 首页 > 知识库问答 >
问题:

将不同属性类型解组到同一java对象时出现NullPointerException

浦出野
2023-03-14
<EnumType Name="Genre" UnderlyingType="Edm.Int32">
   <Member Name="ACTION" Value="0"/>
   <Member Name="COMEDY" Value="1"/>
</EnumType>
<EnumType Name="Rating" UnderlyingType="Edm.String">
   <Member Name="RatingA" Value="G"/>
   <Member Name="RatingB" Value="PG"/>
 </EnumType>
@XmlRootElement
public class EnumType {

   @XmlElement(name = "Member", namespace = "http://schemas.microsoft.com/ado/2009/11/edm")
   private List<Member> members = new LinkedList<Member>();

   public List<Member> getMembers() {
      return members;
   }
}
@XmlRootElement
public class Member {

    @XmlAttribute(name = "Name")
    private String name;

    @XmlAttribute(name = "Value")
    private Object value;

    public String getName() {
        return name;
    }

    public Object getValue() {
        return value;
    }
}

有什么想法吗?:(

共有1个答案

萧浩漫
2023-03-14

当您使用@XmlAttribute注释Object类型的字段/属性时,JAXB RI将抛出该异常。与member类中的相同:

@XmlAttribute(name = "Value")
private Object value;

有关更多信息

  • 对象类型抛出空指针异常的JAXB属性?
 类似资料:
  • 假设我们有一个这样定义的对象A: 出于某种原因,我需要创建第二个对象B,它只具有对象A的前两个属性: 所以我的问题是:将对象A复制到对象B的最佳方法是什么?我一直在逐个复制获取者和设置者的属性,但有些事情告诉我一定有更好的方法来做到这一点!特别是当对象将具有很多属性时,我必须编写一行又一行的代码,只是为了将它们全部复制到第二个对象B... 多谢了:) 编辑:我一直被一个“另一个问题的可能重复”提醒

  • 我一直试图将xml(作为字符串)解组到一个对象,但它返回了一个NullPointerException错误。我花了一周时间寻找解决方案,但似乎什么都没用。我已经多次修改了“unmarshallpacs008”方法和“Spienvelessage”类,尝试了我在论坛上找到的其他东西。 在调试代码时,我看到错误发生在“unmarshaller.unmarshal”点,在该点上,“SpinevelMes

  • 问题内容: 我的一位同事向我提出了一个有趣的问题,但是我找不到一个整洁漂亮的Java 8解决方案。问题是流式传输POJO列表,然后基于多个属性将它们收集在映射中- 映射导致POJO多次发生 想象以下POJO: 将其设置为: 备选方案1 :在“ stream”之外(或在之外)使用。 备选方案2 :创建地图项并流式传输,然后流式传输。海事组织,这有点太冗长,不太容易阅读。 备选方案3 :到目前为止,这

  • 问题内容: 有一个丑陋的XML文件必须解组: 产生的Java对象应为: 这个问题的答案非常接近,但我不知道最终的解决方案。 问题答案: 怎么样? 介绍一个称为选项的通用超类: 然后在带有选项列表的类(在本示例中为Configuration)上,在该属性上指定一个@XmlJavaTypeAdapter: XmlAdapter看起来像这样: AdaptedOptions看起来像:

  • 问题内容: 我是android和java的初学者。我不明白什么时候对象传递。对象传递当然需要实现Serializable。 0.什么时候使用Serializable?它是什么? 1.什么是对象和捆绑类 2.使用Object和Bundle传递对象时 3.是否支持Object和Bundle对象都是数据类型的对象? 请帮助我。谢谢 问题答案: 您的要求确实很模糊,但是可序列化的对象可以转换为可以反序列化

  • 我试图设置两个线程,它们在另一个类中增加或减少一个整数。我对这个属性的同步有一些问题。 这是我的主要类,我在其中设置了线程和计数器类: 这是我的柜台课: 这是我的Thread1类:(runnable类是一样的,只是用“实现Runnable”而不是“扩展线程”) 但是,我的输出始终是10000000。尽管我同步了两种方法。有人能解释这是怎么回事吗?