簡體   English   中英

如果聲明奇怪地不能正常工作......無法弄明白

[英]If statement oddly not working properly…can't figure it out

所以這是一個愚蠢的問題,但由於某些原因,這對我不起作用。 這是我正在嘗試做的一個小程序的一小部分,我正在調試但是一個簡單的if語句由於某種原因不起作用。 這是以下代碼:

System.out.println("Enter a command (Enqueue, Dequeue, or Quit): ");
String expr = input.next();
System.out.println(expr);
if (expr=="Enqueue") {
   System.out.println("Enqueue");}

所以它應該只是抓取輸入,如果我在提示符中鍵入Enqueue,它應該打印出來。 問題是它沒有這樣做。 當我檢查變量expr的值時,它確實顯示為字符串Enqueue但它不會進入並打印它.....奇數。 我不知道有什么蠢事嗎?

你要

if (expr.equals("Enqueue")) {

==與字符串一起使用是不安全的。 該運算符比較兩個引用的相等性,只有當兩個引用指向同一個實例時才會為true。 在這種情況下,您有兩個具有相同值的不同實例。 要進行值比較,我們使用.equals()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM