Я действительно не понимаю, почему java.lang.NumberFormatException: Недопустимый длинный: здесь происходит «null».Исключение Java Java даже после строки null или пустой проверки
Сброс проблемы, как и следящий.
try {
userid = ((JSONObject) msg.obj).getString("userid");
if (userid.equals("") || userid.isEmpty() || null==userid) {
onClickLogout();
return;
} else {
client.setUserid(Long.parseLong(userid));
}
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
onClickLogout();
return;
}
line client.setUserid (Long.parseLong (userid)); получает следующее исключение
java.lang.NumberFormatException: Invalid long: "null"
at java.lang.Long.invalidLong(Long.java:125)
at java.lang.Long.parse(Long.java:362)
at java.lang.Long.parseLong(Long.java:353)
at java.lang.Long.parseLong(Long.java:319)
at client.setUserid(Long.parseLong(userid));
Дело в том, что нулевое исключение возникает даже после нулевой и пустой проверки идентификатора пользователя в коде. Что случилось со мной здесь? пожалуйста, ознакомьтесь с экспертами!
Проверьте сначала, если идентификатор пользователя null, а не называет равным, иначе вы можете столкнуться с NPE –
. Я отредактировал ваш вопрос, пожалуйста, проверьте. Это может исключить возможное исключение NullPointerException. Кроме того, вы должны добавить @laalto 'sanswer. –
О, извините @PedroOliveira. Я только что видел ваш комментарий xD –