- Java code
String s1 = "张三,李四,王五,赵六"; String Array1[]={"张三","李四","王五","赵六"}; String Array [] = new String[20]; Array = s1.split(","); int j=0; int m=0 for(int i=0;i<Array.length;i++){ //System.out.println(Array[i]); if(Array1[i]==Array[i]){ j++; } if(Array[i]=="张三"){ m++; } } System.out.println(j);
结果是 m j 的值是 0,是不是我理解错了split的用法? 我想把 s1 这个字符串逗号为标志分别存入一个String数组,结果是Array 和 Array1 两数组前四个值是不等价的,为什么会这样?我该怎么处理 s1 这个字符串才能得到我想要的结果??
------解决方案--------------------
split用对了,这里你要注意字符串是否相等的比较不能用符号==,而是要用函数equals(),改成下面的形式就行了:
String s1 = "张三,李四,王五,赵六";
String Array1[]={"张三","李四","王五","赵六"};
String Array [] = new String[20];
Array = s1.split(",");
int j=0;
int m=0;
for(int i=0;i<Array.length;i++){
//System.out.println(Array[i]);
if(Array1[i].equals(Array[i])){
j++;
}
if(Array[i].equals("张三")){
m++;
}
}
System.out.println(j);