このコードは本 Learning 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);
}
}
}
コードは本に書いてあるとおりです。