Android 在 Android 中检查 null 或空字符串

在我尝试 AsyncTask我从我的服务器得到电子邮件地址。在 onPostExecute()我必须检查是电子邮件地址 emptynull。我用下面的代码来检查它:

if (userEmail != null && !userEmail.isEmpty()) {
Toast.makeText(getActivity(), userEmail, Toast.LENGTH_LONG).show();
UserEmailLabel.setText(userEmail);
}

但是在我的 Toast中我看到 null被打印出来了。我的完整代码:

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);
}
}

如何检查 nullempty字符串?

191330 次浏览

你可以用这个来验证:

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

请记住,您必须使用从精确以上代码与该命令。因为如果 userEmail为 null,那么确保您不会从 userEmail.isEmpty()获得 null 指针异常。

以上描述,它只能在 Java SE 1.6之后使用。请检查以前版本的 userEmail.length() == 0


更新:

使用来自 TextUtils类的 isEmpty(stringVal)方法: < br >

if (TextUtils.isEmpty(userEmail))

科特林:

isNullOrEmpty中使用 null 或空值,或者从 isNullOrBlank中使用 null 或空值,或者仅由空格字符组成。

if (userEmail.isNullOrEmpty())
...
if (userEmail.isNullOrBlank())

来自@Jon Skeet 的注释,实际上 String的值是 "null"

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

检查空字符串是否等于 null,长度为零或包含“ null”字符串

public static boolean isEmptyString(String text) {
return (text == null || text.trim().equals("null") || text.trim()
.length() <= 0);
}

这招对我很管用

EditText   etname = (EditText) findViewById(R.id.etname);
if(etname.length() == 0){
etname.setError("Required field");
}else{
Toast.makeText(getApplicationContext(),"Saved",Toast.LENGTH_LONG).show();
}

或者用这个作为字符串

String DEP_DATE;
if (DEP_DATE.equals("") || DEP_DATE.length() == 0 || DEP_DATE.isEmpty() || DEP_DATE == null){
}

您可以使用 TextUtils 中的实用方法“ isEmpty”检查它,

IsEmpty (CharSequesstr)方法同时检查条件是否为 null 和长度。

public static boolean isEmpty(CharSequence str) {
if (str == null || str.length() == 0)
return true;
else
return false;
}

使用 TextUtils.isEmpty( someString )

String myString = null;


if (TextUtils.isEmpty(myString)) {
return; // or break, continue, throw
}


// myString is neither null nor empty if this point is reached
Log.i("TAG", myString);

笔记

  • 文件表明同时检查空长度和零长度。在这里不需要重新发明轮子。
  • 一个好的实践是 提前回来

如果您选择 null 或空 String,那么您可以尝试这样做

 if (yourString != null){
if(yourString.length==0  && yourString.equals(""))
Toast.makeText(myClassName.this, "Empty",Toast.LENGTH_LONG).show();
}else{
Toast.makeText(myClassName.this, "String null" , Toast.LENGTH_LONG).show();
}

或者使用 TextUtils 类

 if (TextUtils.isEmpty(yourString )) {
Toast.makeText(myClassName.this, "Empty" , Toast.LENGTH_LONG).show();
}

我测试字符串是否为空的简单解决方案:

如果(s.equals (“ null”)){ ..... }

有两个案子。

变量(字符串类型)为 null (不存在) : = = 工作。

该变量具有空值, * . equals (“ null”)为 te 提供正确的布尔值。

看照片。 enter image description here

如果所有给出的答案都不起作用,请试一试

String myString = null;


if(myString.trim().equalsIgnoreCase("null")){
//do something
}

如果使用 Kotlin:-

 if (TextUtils.isEmpty(userEmail).not()) {
// do your work
} else {
// can show error message userEmail is empty
}

如果使用 Java:-

  if (!TextUtils.isEmpty(userEmail)) {
// do your work
} else {
// can show error message userEmail is empty
}

检查空字符串的正确方法。

它更快,但不是 null 安全的,如果 string 为 null,它将抛出 NullPointErexception

if str.isEmpty() then

2. 它也更快,但不是空安全。

if String.length() = 0 then

3. 它不像前两个那样快,但是它是空安全的。

if "".equals(str) then

第四条路

TextUtils.isEmpty(myString)

5. If you want to check for null string.

StringUtils.isEmpty(nullString)

6. 如果想同时检查 null 和空字符串

if (str == null || str.length() == 0)