在String [] []中执行搜索

时间:2012-12-29 14:22:11

标签: java arrays types comparison

给出一个二维数组T,基本类型为String,一些字符串为str(可以像String类型一样处理)我想检查T是否包含某些部分str作为其条目。我试过这个:

int indeksck = str.indexOf("C");

while(k<T.length){
    if(T[k][2] == str.substring(indeksck+1)){
        if(T[k][1] == str.substring(6, indeksck)){
            int ile_o = Integer.parseInt(T[k][0]);
            T[k][0]= Integer.toString(ile_o+1);
            T[k][3] = T[k][3]+"X"+str.substring(1,6);
            k = T.length+1;
        } else {
            k++;
        }

    } else {
        k++;

        if(k==T.length){
            k = 0;
            while(k<T.length){
                if(T[k][0]==null){
                    T[k][0] = Integer.toString(1);
                    T[k][1] = str.substring(6,indeksck);
                    T[k][2] = str.substring(indeksck+1);
                    T[k][3] = str.substring(1,6);
                    k = T.length+1;
                } else {
                    k++;
                }
            }
        }
    }
}

问题是我的代码的第一部分被忽略了(即使应该满足条件)。我很感激和建议解决这个问题。

2 个答案:

答案 0 :(得分:6)

您不能使用==进行字符串比较。尝试:

if(T[k][2].equals(str.substring(indeksck+1))) {

答案 1 :(得分:2)

Java中的

==运算符用于参考比较。要检查对象的等效性(对于字符串也是如此),您需要使用equals()方法。