我如何配置的IntelliJ IDE不將在下面的類成員字段,以便嚴格:錯誤而宣告字`public`作爲一個字符串變量的IntelliJ
String public;
String metaClass;
目前,它顯示有關的錯誤String public
的成員。
這是我想要的命名,因爲我必須遵守JSON合約。
我如何配置的IntelliJ IDE不將在下面的類成員字段,以便嚴格:錯誤而宣告字`public`作爲一個字符串變量的IntelliJ
String public;
String metaClass;
目前,它顯示有關的錯誤String public
的成員。
這是我想要的命名,因爲我必須遵守JSON合約。
我想你會問,爲什麼這個代碼...
String public
...不能編譯。
或者換句話說:「爲什麼IntelliJ不允許這個代碼?」。
單詞public
在Java中不是有效的變量名,所以沒有編譯器(不管是由IntelliJ還是由其他任何東西託管)都不允許該代碼。
從docs:
的命名變量的規則和約定可以概括如下: ... 也請記住,您選擇的名稱不能是關鍵字或保留字。
以下是keywords and reserved words的完整列表。
在你的問題中,你寫了「這是我想要的格式,因爲json對象」,我認爲你的意思是說你有一個名爲「public」的屬性的JSON,並且你想將它映射到Java類有一個名爲「public」的屬性,如果是這樣的話,那麼你需要在將JSON轉換成Java類時轉換JSON,這可能受到你使用的任何JSON庫的支持,例如Jackson提供了@JsonProperty
和@JsonAlias
註釋此...此允許JSON:{"public": "true"}
將deserialised與該成員的類:@JsonAlias({ "public" }) public String publicScope
對不起語法好友,但這是你在這個評論中說的確切問題。謝謝! JSON數組如何,我在反序列化這些東西時遇到了問題,我正在使用Jackson Json。我總是有一個錯誤,意思是「START_OF_ARRAY」,我會怎樣做才能修復它?謝謝! –
很高興我能幫到你。回顧你的後續問題,我認爲這可能已經有一個答案SO([this](https://stackoverflow.com/questions/27154631/json-mapping-exception-can-not-deserialize-instance-out-of- start-array-token)或許?)。如果你在SO上找不到現有的答案,那麼我認爲你應該用[MCVE](https://stackoverflow.com/help/mcve)提出一個新問題。至少你應該包括例子JSON,你的模型類和你的反序列化代碼......如果沒有這些細節,診斷這個問題是非常困難的。 – glytching
你不應該鏈接外部的圖像可能會丟失 – rakwaht
我編輯的問題內容,以更好地反映問題的實質。將來,儘可能具體地解決問題和推理。 –
作爲提示,嘗試將有問題的成員重命名爲編譯器名稱可接受的其他成員。您可以使用註釋來告訴您的JSON序列化框架JSON格式的字段名稱,因此您不需要在相應的Java類中具有完全相同的命名。 –