Java - можно ли объявить сериализованный ключ по имени static [duplicate]

Я хотел создать POJO, который позже захочу преобразовать в JSON с помощью GSON. Мой JSON выглядит так

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

Итак, мой POJO выглядит так

public class MyPOJO {

    public String static;
    public String otherkey;
}

Но на это меня комплиментатор жалуется public String static;. Я знаю, что статика - это ключевое слово, но возможно ли это?


person Vinayak Bevinakatti    schedule 01.03.2017    source источник
comment
Посмотрите здесь: stackoverflow.com/ questions / 423994 /   -  person Rumid    schedule 02.03.2017
comment
Вы можете использовать аннотации для разделения имен полей java и имен json. Это позволяет вам переименовать любой из них, не затрагивая другой.   -  person Christine    schedule 02.03.2017
comment
@Christine Спасибо! сделал это.   -  person Vinayak Bevinakatti    schedule 02.03.2017
comment
@VinayakBevinakatti, пожалуйста, посмотрите мой последний код?   -  person moo cow    schedule 30.07.2018
comment
@moocow Где твой код?   -  person Vinayak Bevinakatti    schedule 31.07.2018


Ответы (3)


Нет, вы не можете назвать его статическим, потому что это зарезервированное ключевое слово, как говорится в других ответах. Чтобы решить вашу проблему с GSON, используйте _1 _ аннотация, чтобы указать имя, используемое во время сериализации, и не называть переменную static, выберите что-то еще, например:

@SerializedName("static")
private String myStaticVar;
person nickb    schedule 01.03.2017

«статический» - зарезервированное слово. Вы не можете использовать его для переменной.

person Woworks    schedule 01.03.2017
comment
Итак, как мне решить мою проблему - person Vinayak Bevinakatti; 02.03.2017
comment
@VinayakBevinakatti Назовите его как-нибудь иначе, затем укажите @SerializedName < / a> аннотация. - person Andreas; 02.03.2017

Вы не можете: static - зарезервированное ключевое слово.

Вы можете использовать такие имена, как: statik, static_, ...

Используйте @SerializedName("static"), чтобы указать имя, которое будет использоваться в выводе JSON:

@SerializedName("static")
public String statik;
person Jean Logeart    schedule 01.03.2017