Java 如何检查字符串是否为空
我有一个活动“B”。我还有两个活动A和C。这两个活动都会导致B。但是我从A和C传递不同的数据。所以在获取时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
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