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

Java - is it possible to declare a serialized key by the name "static"

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

{
"static":"value",
"otherkey": "value"
}

所以我的 POJO 看起来像这样

public class MyPOJO {

    public String static;
    public String otherkey;
}

但是编译器在这 public String static; 抱怨我。我知道 static 是一个关键字,但它可能吗?

"static" 是保留字。您不能将其用于变量。

您不能:static 是保留关键字。

您可以使用如下名称:statikstatic_、...

使用 @SerializedName("static") 指定要在 JSON 输出中使用的名称:

@SerializedName("static")
public String statik;

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

@SerializedName("static")
private String myStaticVar;