当前位置: 技术问答>java相关
关于获得线程名字的问题:
来源: 互联网 发布时间:2017-04-04
本文导语: 关于获得线程名字的问题: 代码如下: import java.io.*; class ThreadRW { public static void main(String args[]){ new SimpleThreadRW("Read").start(); new SimpleThreadRW("Write").start(); } } class SimpleThreadRW extends Thread { SimpleThreadRW(Stri...
关于获得线程名字的问题:
代码如下:
import java.io.*;
class ThreadRW {
public static void main(String args[]){
new SimpleThreadRW("Read").start();
new SimpleThreadRW("Write").start();
}
}
class SimpleThreadRW extends Thread {
SimpleThreadRW(String str){
super(str);
}
public void run(){
if(getName()=="Read"){
System.out.println(this.getName());
}
}
}
本义是,但线程运行时,判断线程名字是否为“Read”,如果是,则输出线程名字,但为什么运行时什么都没有输出呢?
注:我尝试把if(){}语句去掉,直接输出线程名字,结果正常输出:Read Write
也尝试用getName().length()获得字符串长度,结果是4,也尝试用getName().trim()去掉空格,但if(){}语句依然没有执行,为什么呢?我感到非常奇怪。
代码如下:
import java.io.*;
class ThreadRW {
public static void main(String args[]){
new SimpleThreadRW("Read").start();
new SimpleThreadRW("Write").start();
}
}
class SimpleThreadRW extends Thread {
SimpleThreadRW(String str){
super(str);
}
public void run(){
if(getName()=="Read"){
System.out.println(this.getName());
}
}
}
本义是,但线程运行时,判断线程名字是否为“Read”,如果是,则输出线程名字,但为什么运行时什么都没有输出呢?
注:我尝试把if(){}语句去掉,直接输出线程名字,结果正常输出:Read Write
也尝试用getName().length()获得字符串长度,结果是4,也尝试用getName().trim()去掉空格,但if(){}语句依然没有执行,为什么呢?我感到非常奇怪。
|
public void run(){
if(getName().equals("Read")){
System.out.println(this.getName());
}
--------------改成这样的就可以了
if(getName().equals("Read")){
System.out.println(this.getName());
}
--------------改成这样的就可以了