有輕微問題,下面的代碼塊:javaj:輸入/ if語句故障
newusr = c.readLine("New user? ");
if (newusr == "y") {
System.out.println("IF");
usnm = createNewUser();
usnm = loginToClient();
}
else {
System.out.println("ELSE");
usnm = loginToClient();
}
基本上,當我輸入單個字符「y」鍵的提示,就帶我到別的情況因此直接指向loginToClient方法。這是怎麼回事;是在不同的編碼或什麼的「Y」?
c是一個控制檯。
嘗試輸出newusr到屏幕上,你看到了什麼?只是爲了好玩,試着輸出newusr的長度。你可能會感到驚訝。 – Tremmors
'=='將兩個引用與一個對象進行比較,即它們是同一個對象。 '.equals()'可以比較兩個對象的*內容*。 –