当前位置: 代码迷 >> Eclipse >> java split 中遇到的一个有关问题
  详细解决方案

java split 中遇到的一个有关问题

热度:311   发布时间:2016-04-23 13:51:46.0
java split 中遇到的一个问题
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);
  相关解决方案