0
当我使用GSON图书馆,我发现匿名类和正常的派生类使用gson.toJson()
。这里是代码(只是为了演示,忽略语法)导致了不同的输出:面对Gson时,匿名类和普通派生类之间的区别?
派生类:
class StringWrap {
private String str = "qwerty";
}
Object derived = new StringWrap();
匿名类:
Object anonymous = new Object(){
private String str="qwerty";
};
事实证明,new Gson().toJson(derived)
回报{"str":"qwerty"}
,但new Gson().toJson(anonymous)
回报null
。
匿名类和派生类之间有什么不同吗?或者是关于Gson的事情?
那么,为什么匿名类是唯一的吗? – obfish
@obfish匿名类是表达式,其中本地类是声明。匿名类允许您同时声明和实例化一个类。他们也是无名的。 – Moe