【发布时间】:2012-06-15 11:23:58
【问题描述】:
private int Index(String[] match,String keyword){
int m=0;
keyword=keyword+"1";
match[m]=match[m]+"1";
System.out.println("match:"+match[m]);
System.out.println("keyword:"+keyword);
System.out.println(match[m].equals(keyword));
while(!(match[m].equals("")) && !(match[m].equals(null))){
System.out.println("yes");
if(match[m].equals(keyword)){
break;
}
else
m++;
}
return m;
}
我得到以下输出(关键字的值为 sparktg):
match:sparktg
1
keyword:sparktg1
false
为什么在 match[m] 的情况下,“sparktg”和“1”之间有一个新行?
【问题讨论】:
-
在附加
1之前,您在match[0]中拥有sparktg\n -
我刚刚测试了你的代码,看起来还不错。你能告诉我们你是如何使用它的吗?
-
同样在你的 if
match[m].equals(null)中,你只会检查索引m上的数组match是否存储字符串“null”。如果match[m]没有设置(null)的值,您将看到java.lang.NullPointerException,因为它将尝试执行null.equals(null)。如果这不是您的意图,请改用match[m]==null,或者在您的情况下使用match[m]!=null。
标签: java arrays string newline