此代碼與「Learning Java(Oracle Press Books)」一書中的內容完全相同,但不起作用。我不明白爲什麼它不起作用,它應該工作。我用OpenJDK和Sun JDK 7都試過了,錯誤是一樣的。Java意外類型正在進行字符串比較,奇怪
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);
}
}
}
代碼正是因爲它是在書。
提示:當編譯器會發出警告/錯誤,交換JDK是關於* *最後選擇嘗試。因爲你錯了,所以很有可能*編譯器是正確的。並且*不適用於初學者,適用於所有人;-) –