java线程的循环跳出问题

做了一个线程的试验,结果不能跳出for循环,怎么回事?望解答

 public class Mythread {

    public static void main(String[] args) {

        new Extendsthread("wo");
        new Extendsthread("my");
        Thread m=Thread.currentThread();

        System.out.println("this is main thread...." 
        + "     " + m.getName());
        System.out.println("the next express:   " + m);
    }

}

class Extendsthread extends Thread{

    Thread t;
    Extendsthread(String name){
        t=new Thread(this,name);
        t.start();
    }

    public void run(){
        for(int i=0;i<5;i++){
            System.out.println(t.getName()+i);

            if(t.getName()=="wo")
                break;

            System.out.println("skip break!!!!");
            System.out.println("this is child thread: " 
            + i + t +"   \n" + t.getName());

        }
    }
}

6个回答

== 用于对象比较时比较的是内存地址,所以if是永假的;对象要用equals比较

wang2046783134
wang2046783134 谢谢
大约 5 年之前 回复

在这里不能用break;continue,你可以试一试,不要用break,它只是打断,continue是打断后直接跳出

将==换成equals即可。

字符串比较要用equals 吧。。。

字符串是用equals

楼上说得对,比较字符串用equals

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐