如何使用最终字段处理空构造函数

时间:2018-11-07 16:44:36

标签: java constructor jersey pojo moxy

我有一堂这样的课

 public class Test {

  private String m_username;

  public Test() {}

  public Test(String username) {
      m_username = username;
   }
}

与Moxy一起。我可以使用Jersey客户端将此POJO发布到其他API,而无需任何转换操作。但是我需要将m_username设置为final字段,这将需要空的构造函数来启动m_username。而且Moxy也不起作用。我该如何解决?

1 个答案:

答案 0 :(得分:0)

问题不是很好问。 据我了解:

  • 您必须将字段定为最终
  • 您必须保留空的构造函数,因为使用诸如在Spring中可以找到的库,对象会以JSON之类的格式自动序列化/反序列化

不幸的是,这两个约束不能同时持有。相反,如果您想保留空的构造函数,则必须放弃final。