我需要检查是否一个输入String
或String[]
是用于在Java方法中的计算null
或""
。检查的字符串/串[]为空或“”在Java
此方法采用参数作为String
...
我使用下面的条件;可有人检查,让我知道我错了,在这里,
if(tokens==null){
return;
} else if(tokens[0] != null && tokens[0]!=""){
return;
}
我需要检查是否一个输入String
或String[]
是用于在Java方法中的计算null
或""
。检查的字符串/串[]为空或“”在Java
此方法采用参数作为String
...
我使用下面的条件;可有人检查,让我知道我错了,在这里,
if(tokens==null){
return;
} else if(tokens[0] != null && tokens[0]!=""){
return;
}
tokens[0]!=""
基本上是比较tokens[0]
和""
内存的引用,这是不是你想要做什么。相反,你需要实际检查String
的内容,例如
else if(tokens[0] != null && tokens[0].isEmpty()){
更新...
你的问题有点werid ...你不能有需要的方法一个String
然后尝试和使用它作为一个数组,除非该方法采取varargs
,那么你会把它当作一个数组无论如何。
public boolean isEmpty(String... values) {
boolean isEmpty = values == null || values.length == 0;
if (!isEmpty) {
for (String value : values) {
if (value == null || value.isEmpty()) {
isEmpty = false;
break;
}
}
}
return isEmpty;
}
这意味着您可以使用...
isEmpty("");
isEmpty("I'm not an array");
isEmpty("Check 1", "Check 2");
isEmpty(new String[]{"Check 1", "Check 2"});
或者类似....
有没有必要写两个条件。
你只需要尝试isEmpty()
,并且只有一个条件。
我需要检查,如果输入的字符串或String []为空或 “”
那不是possible.Either的参数将是string
或array
,
如果tokens
是一个数组,
if(tokens[0] !=null && tokens[0].isEmpty()){
return;
}
如果令牌是一个字符串,
if(tokens !=null && tokens.isEmpty()){
return;
}
假设方法以字符串(没有的String [])的参数,那么:
if(tokens == null || tokens.length() == 0) {
return;
}
如果方法接受的String []的说法,你需要决定是否要进行检查:
假设你要检查所有四个,你可以尝试:
if(tokens == null || tokens.length == 0) {
return;
} else {
for(final String token : tokens) {
if(token == null || token.length() == 0) {
return;
}
}
}
取而代之的是:
} else if(tokens[0] != null && tokens[0]!=""){
难道你不希望这样的:
} else if(tokens[0] == null || tokens[0]==""){
I.E.逻辑反转。
尝试是办理空和空支票简洁的String和Collections实用程序库:
import org.apache.commons.collections.CollectionUtils;
import org.springframework.util.StringUtils;
if(CollectionUtils.isEmpty(tokens))
return; // tests that the Collection parameter is neither null nor empty
for(String token : tokens)
{
if(!StringUtils.hasText(token)) // tests that the String parameter is neither null nor empty
return;
}
如果CollectionUtils已在使用中,方便使用。其他,对一个简单问题的重量级解决方案。 – ash
BTW,令牌[0] ==“”应该总是工作,但也有可能是案件中,它才不是。 isEmpty()方法更好。 – ash