此代码与学习Java(Oracle Press Books)一书中的完全相同,但它不起作用。我不明白为什么它不起作用,它应该工作。我已经尝试过OpenJDK和Sun JDK 7,错误是一样的。
ThreadCom.java:56: error: unexpected type
if (thrd.getName().compareTo("Tick") = 0) {
^
required: variable
found: value
1 error
有问题的代码......
class MyThread implements Runnable {
Thread thrd;
TickTock ttOb;
MyThread(String name, TickTock tt) {
thrd = new Thread(this, name);
ttOb = tt;
thrd.start();
}
public void run() {
if (thrd.getName().compareTo("Tick") = 0) { // <- that line
for (int i=0; i<5; i++) ttOb.tick(true);
ttOb.tick(false);
} else {
for (int i=0; i<5; i++) ttOb.tock(true);
ttOb.tock(false);
}
}
}
代码完全和书中一样。
答案 0 :(得分:5)
此
thrd.getName().compareTo("Tick") = 0
应该是
thrd.getName().compareTo("Tick") == 0
第一个是作业。第二个是比较。
答案 1 :(得分:3)
我忘记了双等号,只是注意到了它。
if (thrd.getName().compareTo("Tick") = 0)
应该是
if (thrd.getName().compareTo("Tick") == 0)