我正在開發一個使用swing表來存儲數據的eclipse中的定時器應用程序。 我遇到的主要問題是,如果if語句保持返回true,即使這些變量中的值相同(如輸出所示)。什麼可能導致這個?爲什麼如果語句返回真?
這是我的代碼片斷:
String currentPID = lblCurrentPID.getText();
for (int i = 0; i < tableActive.getRowCount(); i++) {
String currentValue = (String) tableActive.getValueAt(i, 2);
System.out.println(i + ": Current Value: " + currentValue + " - Current PID: "+ currentPID);
if (currentPID != currentValue) {
System.out.println("The value and PID are not the same for some reason!");
}
else {
tableActive.setValueAt(ts1.getOverallTotalTime(), i, 3);
System.out.println(i + ": Row Was Changed!");
}
}
這裏是輸出:
0:當前值:Test3的 - 當前PID:Test3的
值和PID是不一樣的因爲某些原因!
1:當前值:12345 - 當前PID:Test3的
價值和PID是不是出於某種原因一樣!
2:當前值:54321 - 當前PID:Test3的
價值和PID是不是出於某種原因一樣!
嘗試'!currentPID.equals(currentValue)'。 – OldCurmudgeon 2013-03-13 14:43:17