An integer
, boolean
, float
и любой другой тип примитива не может быть null
. Таким образом, если SharedPreferences
не содержит Object
(например, String
), его нельзя установить равным нулю, несмотря ни на что. Однако, если SharedPreferences
содержит Object
, то вы можете использовать троичный оператор Java (?
и :
), чтобы установить значение в null:
String myPref = getApplicationContext().getSharedPreferences(PREFS_NAME, "").equals("") ? null : getApplicationContext().getSharedPreferences(PREFS_NAME, "");
или
String myPref = getApplicationContext().getSharedPreferences(PREFS_NAME, "");
if (myPref.equals(""))
myPref = null;
Я не понимаю, зачем вам конкретно значение null
, обычно в integer
значение -1
представляет ошибку. Если в вашем случае каждое число (включая -1
) должно считаться действительным вводом, используйте String
, который содержит число, когда оно является действительным (а затем проанализируйте его как integer
) и содержит значение null
, когда недействительным.