Я намагаюся зробити щось на кшталт:
public static final JSONObject MYOBJ = new JSONObject().put("value", "expression");
але затемнення отримує з розуму і каже, що в рядку є помилка, навіть незважаючи на те, що вказівник інструменту показує No solutions available
Я намагався змінити JSONObject
друкувати String
і ще та сама проблема. Я ухиляюся від хеш-карт і дуже хотів би використовувати JSON.
** EDIT - місцезнаходження коду **
package ...
import ...
public class MyActivity extends Activity {
public static final JSONObject MYOBJ = new JSONObject().put("value", "expression");
... // onCreate etc
}
Відповіді:
6 за відповідь № 1Добре здається, що JSONObject має перевірений виняток, з яким потрібно оброблятись. Спробуйте це
public static final JSONObject MYOBJ = new JSONObject(){
{
try {
put("value", "expression");
} catch(Exception e){
e.printStackTrace();
}
}
};
1 для відповіді № 2
Результатом put () є Об'єкт. Зробіть це в два рядки і все добре.
public static final JSONObject MYOBJ = new JSONObject();
static {
MYOBJ.put("value", "expression");
}
Зауважте, що статичний фінал не перешкоджає зміні об'єкта, лише те, що початкова посилання MYOBJ завжди буде тим самим об'єктом.
Редагувати: Ах, я, мабуть, використовував інший аромат бібліотеки JSON. Тим не менш, вищезазначений підхід, ймовірно, буде добре працювати. Якщо всі типи збігаються, додайте до початкового рядка ще кілька паролей.