我不知道下面的代码有什么问题...我从一个文本框中获取输入,并将输入放入一个字符串中。如果文本框为空,它将返回空字符串。在以下代码中
String[] str = new String[9];
for(int i=0;i<9;i++){
if(str[i].equals("")){
System.out.println("set " + cmds[i] + " " + str[i]);
WriteThread.sendCommand("set " + cmds[i] + " " + str[i] + "\n", false);
}
}
在上面的代码中,str[i]
存储文本框的输入文本,我尝试检查数组中是否有任何元素为空。我也尝试过str[i] == ""
和str[i] == null
,但没有成功。if块中的语句如果我打印字符串str[i]
,它没有显示任何表示它为空的内容。
我是不是做错了什么?
发布于 2009-12-24 14:14:47
您可以尝试:
if (str[i] == null || str[i].trim().equals("")){
// your code
}
发布于 2009-12-24 14:47:12
您可以使用Apache Commons Lang检查字符串:
if (StringUtils.isBlank(str[i]) {
...
}
StringUtils.isBlank
正在检查字符串是否为null
或为空(即,当所有空白字符都删除时,该字符串是否等于""
)。
发布于 2014-06-29 17:56:12
我建议你
if (str[i] == null || str[i].trim().length==0){
// your code
}
或Java 6及更高版本
if (str[i] == null || str[i].trim().isEmpty()){
// your code
}
使用equals()方法测试空字符串,而不是使用equals(),因为equals()方法是过度杀伤力
https://stackoverflow.com/questions/1956971
复制相似问题