来自代码片段的意外输出 - Java

ѕтƒ*_*ѕтƒ -1 java list arraylist

我有一个代码片段,它是

List<String> mylist = new ArrayList<String>();
mylist.add("ren");
mylist.add("rahul->RC");
mylist.add("arun");
String sr = "rahul->RC";
String sr1 = "rahul";

for ( int i=0;i<mylist.size();i++ )
{
    if(mylist.get(i).contains(sr))
    {
        System.out.println(mylist.get(i)+" CONTAINS "+sr);
        mylist.remove(mylist.get(i));
        System.out.println("Inside : "+mylist);
        mylist.add("again"); 
        break;
    }
    if(mylist.get(i).equals(sr1));
    {
        System.out.println(sr1 +" EQUELS " +mylist.get(i)); 
        mylist.remove(mylist.get(i));
        mylist.add(sr);
        break;
    }
}

System.out.println("Final Output => "+mylist);
Run Code Online (Sandbox Code Playgroud)

当我运行此代码时,我得到了输出

rahul EQUELS ren
Final Output => [rahul->RC, arun, rahul->RC]
Run Code Online (Sandbox Code Playgroud)

我想知道我什么时候看到这个输出.怎么会rahul EQUELS ren发生这种情况?我无法弄清楚问题?请帮我解决这个问题.

Roh*_*ain 6

在第二个if语句后面有一个分号:

if(mylist.get(i).equals(sr1));  // Remove the semi-colon
Run Code Online (Sandbox Code Playgroud)

分号标记if语句的结尾,而后面的块只是一个本地块,它将始终执行.