亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Gson是否必須使用默認的無參數構造函數?

Gson是否必須使用默認的無參數構造函數?

神不在的星期二 2019-10-11 10:00:14
Gson用戶指南指出,我們應該為任何可以正常使用Gson的類定義默認的無參數構造函數。甚至,在Gson 類的javadoc中InstanceCreator說,如果我們嘗試對缺少默認構造函數的類實例進行反序列化,則會拋出異常,并且在這種情況下應使用該異常InstanceCreator。但是,我嘗試對缺少默認構造函數的類使用Gson進行測試,并且序列化和反序列化工作都沒有任何麻煩。這是反序列化的代碼。沒有非參數構造函數的類:public class Mushroom {    private String name;    private double diameter;    public Mushroom(String name, double diameter) {        this.name = name;        this.diameter = diameter;    }    //equals(), hashCode(), etc.}和一個測試:@Testpublic void deserializeMushroom() {    assertEquals(            new Mushroom("Fly agaric", 4.0),            new Gson().fromJson(                    "{name:\"Fly agaric\", diameter:4.0}", Mushroom.class));}效果很好。所以我的問題是:我是否可以實際使用Gson而不需要默認的構造函數,或者在任何情況下它都不起作用?
查看完整描述

3 回答

  • 3 回答
  • 0 關注
  • 1349 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號