我需要檢查是否一個輸入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