Android check null or empty string in Android

android, android-asynctask, android-fragmentactivity

Solution

From @Jon Skeet comment, really the `String` value is `"null"`. Following code solved it

if (userEmail != null && !userEmail.isEmpty() && !userEmail.equals("null")) 

Problem

In my trying `AsyncTask` I get email address from my server. In `onPostExecute()` I have to check is email address `empty` or `null`. I used following code to check it: ``` if (userEmail != null && !userEmail.isEmpty()) { Toast.makeText(getActivity(), userEmail, Toast.LENGTH_LONG).show(); UserEmailLabel.setText(userEmail); } ``` But in my `Toast` I see `null` is printed. My full code: ``` private class LoadPersonalData extends AsyncTask<String, Void, Void> { @Override protected void onPreExecute() { super.onPreExecute(); } protected Void doInBackground(String... res) { List<NameValuePair> params = new ArrayList<NameValuePair>(); params.add(new BasicNameValuePair("user_id", PrefUserName)); params.add(new BasicNameValuePair("type", type_data)); JSONObject json = jsonParser.makeHttpRequest(Url, "POST", params); String result = ""; try { result = json.getString("message"); } catch (JSONException e) { e.printStackTrace(); } if (result.equals("success")) { try { userEmail = json.getString("email"); } catch (JSONException e) { // TODO Auto-generated catch block e.printStackTrace(); } } return null; } @Override protected void onPostExecute(Void result) { // TODO Auto-generated method stub super.onPostExecute(result); if (userEmail != null && !userEmail.isEmpty()) { Toast.makeText(getActivity(), userEmail, Toast.LENGTH_LONG).show(); UserEmailLabel.setText(userEmail); } } ``` How can I check for `null` and `empty` string?

Original source