Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/306.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何检查字符串是否为空_Java_Android_Arrays_Nullpointerexception - Fatal编程技术网

Java 如何检查字符串是否为空

Java 如何检查字符串是否为空,java,android,arrays,nullpointerexception,Java,Android,Arrays,Nullpointerexception,我有一个活动“B”。我还有两个活动A和C。这两个活动都会导致B。但是我从A和C传递不同的数据。所以在获取时 String dataFromA = getIntent.getStringExtra("SomethingA"); String dataFromC = getIntent.getStringExtra("SomethingC"); 如何避免出错。我不知道用户从何处进入活动B,因此如何添加If语句或seomthing以避免在获取时出错,因为行A或C将获得NullPOinterExcep

我有一个活动“B”。我还有两个活动A和C。这两个活动都会导致B。但是我从A和C传递不同的数据。所以在获取时

String dataFromA = getIntent.getStringExtra("SomethingA");
String dataFromC = getIntent.getStringExtra("SomethingC");

如何避免出错。我不知道用户从何处进入活动B,因此如何添加If语句或seomthing以避免在获取时出错,因为行A或C将获得NullPOinterException以检查字符串是否为空或是否使用以下代码:

if(TextUtils.isEmpty(yourString))
 {
 // String empty
 }
 else
 {
   // string not empty
  }
在您的情况下,您可以将其检查为:

  if (getIntent()!=null && getIntent().getStringExtra!=null )
    {
        if (getIntent().hasExtra("SomethingA") && getIntent().hasExtra("SomethingB"))
        String dataFromA = getIntent.getStringExtra("SomethingA");
        String dataFromB = getIntent.getStringExtra("SomethingB");

    }
你可以试试这个代码

        Bundle arguments = getArguments();
        if (arguments != null){
           if (arguments.containsKey("SomethingA")) {
               String somethingA = arguments.getString("SomethingA");
               if (TextUtils.isEmpty(somethingA)){
                   // Your codes comes here
               }
           }
        }

如果没有传递数据,则绑定参数可以为null。

您可以使用hasExtra方法检查该字符串是否存在

if (getIntent().hasExtra("SomethingA")) {
    String dataFromA = getIntent.getStringExtra("SomethingA");
} else if (getIntent().hasExtra("SomethingC")) {
    String dataFromC = getIntent.getStringExtra("SomethingC");
}

Intent.hasExtraextra应该适用于您,您的代码中有没有没有不带括号的getIntent,或者只有在这里?正如我在评论中指出的,可能完全重复!!完美答案@madis-r