等于子字符串值不会返回预期结果

KaH*_*HeL 1 java android

嗨我有这个子串的问题,我希望它是相同的.好吧,我创建了一个函数,您将比较两个名称,然后只要这些名称共享相同的字符,它就会将所有字符更改为空格.你能检查一下这个错误在哪里吗?我很难搞清楚.这是我的代码:

name1 = name1.replace(" ","");
    name2 = name2.replace(" ","");

    Log.v(TAG, name1);
    Log.v(TAG, name2);

    Log.v(TAG, String.valueOf(name1.length()));
    Log.v(TAG, String.valueOf(name2.length()));

    for (int x=0; x < name1.length(); x++){
        for (int y=0; y < name2.length(); y++){

            Log.v(TAG, "Value of LOOP : "+"-"+String.valueOf(y) +"-"+String.valueOf(x)+"-");
            Log.v(TAG,"-"+name1.substring(x)+"-"+name2.substring(y)+"-");

            if (name1.substring(x) == name2.substring(y)){
                Log.v(TAG, "Value of XY : "+String.valueOf(y)+","+String.valueOf(y));

                name1 = name1.replace(name1.substring(x)," ");
                name2 = name2.replace(name2.substring(y)," ");
            }
        }
     }
    Log.v(TAG,"LOOP SUCCESS");

    String name3 = name1 + name2;
    Log.v(TAG,"Name 3 Value: "+name3);
Run Code Online (Sandbox Code Playgroud)

Bri*_*uis 9

不要==用来比较两个String变量.使用该equals()方法.

if (name1.substring(x).equals(name2.substring(y))) {
    ...
Run Code Online (Sandbox Code Playgroud)

  • 只是否定条件.`if(!name1.substring(x).equals(name2.substring(y))){`. (2认同)