Java - 是否可以通过名称"static"声明序列化密钥

Vin*_*tti -3 java json pojo gson

我想创建一个POJO,稍后我想用GSON将它转换为JSON.我的JSON看起来像这样

{
"static":"value",
"otherkey": "value"
}
Run Code Online (Sandbox Code Playgroud)

所以我的POJO看起来很喜欢这个

public class MyPOJO {

    public String static;
    public String otherkey;
}
Run Code Online (Sandbox Code Playgroud)

但是这位编纂者抱怨我public String static;.我知道static是一个关键字,但有可能吗?

nic*_*ckb 6

不,你不能将它命名为静态,因为它是一个保留关键字,就像其他答案所说的那样.要解决GSON的问题,请使用@SerializedName注释指定序列化期间使用的名称,并且不要命名变量static,选择其他类似的东西:

@SerializedName("static")
private String myStaticVar;
Run Code Online (Sandbox Code Playgroud)